about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/sendmsg.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2023-04-24 23:05:15 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-04-24 23:05:15 +0200
commit0822e3552a787dd6ae352c3eb65783dfed2f4238 (patch)
tree69512a6911b4550b4a08216196761338cb4195dc /sysdeps/mach/hurd/sendmsg.c
parentc02b26455b3c9d33c8a94e56eed1958d7f751b72 (diff)
downloadglibc-0822e3552a787dd6ae352c3eb65783dfed2f4238.tar.gz
glibc-0822e3552a787dd6ae352c3eb65783dfed2f4238.tar.xz
glibc-0822e3552a787dd6ae352c3eb65783dfed2f4238.zip
hurd: Don't pass FD_CLOEXEC in CMSG_DATA
The flags are used by _hurd_intern_fd, which takes O_* flags, not FD_*.

Also, it is of no concern to the receiving process whether or not
the sender process wants to close its copy of sent file descriptor
upon exec, and it should not influence whether or not the received
file descriptor gets the FD_CLOEXEC flag set in the receiving process.

The latter should in fact be dependent on the MSG_CMSG_CLOEXEC flag
being passed to the recvmsg () call, which is going to be implemented
in the following commit.

Fixes 344e755248ce02c0f8d095d11cc49e340703d926
"hurd: Support sending file descriptors over Unix sockets"

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Diffstat (limited to 'sysdeps/mach/hurd/sendmsg.c')
-rw-r--r--sysdeps/mach/hurd/sendmsg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/mach/hurd/sendmsg.c b/sysdeps/mach/hurd/sendmsg.c
index 7106faf0de..3c9cdc4e66 100644
--- a/sysdeps/mach/hurd/sendmsg.c
+++ b/sysdeps/mach/hurd/sendmsg.c
@@ -138,8 +138,8 @@ __libc_sendmsg (int fd, const struct msghdr *message, int flags)
 					     0, 0, 0, 0);
 		   if (! err)
 		     nports++;
-		   /* We pass the flags in the control data.  */
-		   fds[i] = descriptor->flags;
+		   /* We do not currently have flags to pass.  */
+		   fds[i] = 0;
 		   err;
 		 }));