aboutsummaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-08-23 12:34:02 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-08-23 12:34:02 +0200
commit54e90826a931e30cb9468a8a9968155989a99f74 (patch)
tree552824cbe5d5b659f266c31fbabace02dc479c22 /libdiskfs
parent772e292c2d47e9d93455e3c87ae0209a58a3da67 (diff)
downloadhurd-54e90826a931e30cb9468a8a9968155989a99f74.tar.gz
hurd-54e90826a931e30cb9468a8a9968155989a99f74.tar.bz2
hurd-54e90826a931e30cb9468a8a9968155989a99f74.zip
file_exec: Homogeneize adding the gratuitous send right
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/file-exec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libdiskfs/file-exec.c b/libdiskfs/file-exec.c
index b1cb33c3..ec9bc424 100644
--- a/libdiskfs/file-exec.c
+++ b/libdiskfs/file-exec.c
@@ -195,6 +195,10 @@ diskfs_S_file_exec_paths (struct protid *cred,
do
{
right = ports_get_send_right (newpi);
+
+ /* Add a gratuitous send right on the protid to avoid a no-sender, and thus
+ interrupt the exec, just because we are precisely replacing the calling
+ process! */
cred_right = ports_get_send_right (cred);
#ifdef HAVE_EXEC_EXEC_PATHS
err = exec_exec_paths (execserver,