aboutsummaryrefslogtreecommitdiff
path: root/libnetfs/file-exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnetfs/file-exec.c')
-rw-r--r--libnetfs/file-exec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libnetfs/file-exec.c b/libnetfs/file-exec.c
index f5d25099..da49ac36 100644
--- a/libnetfs/file-exec.c
+++ b/libnetfs/file-exec.c
@@ -169,6 +169,10 @@ netfs_S_file_exec_paths (struct protid *cred,
if (newpi)
{
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 (_netfs_exec,