[hurd,commited] hurd: Do not take any flag from the CMSG_DATA

Message ID 20230424221737.2113141-1-samuel.thibault@ens-lyon.org
State Committed, archived
Headers
Series [hurd,commited] hurd: Do not take any flag from the CMSG_DATA |

Checks

Context Check Description
dj/TryBot-apply_patch fail Patch failed to apply to master at the time it was sent
dj/TryBot-32bit fail Patch series failed to apply

Commit Message

Samuel Thibault April 24, 2023, 10:17 p.m. UTC
  As fixed in 0822e3552a78 ("hurd: Don't pass FD_CLOEXEC in CMSG_DATA"),
senders currently don't have any flag to pass.  We shouldn't blindly take
random flags that senders could be erroneously giving us.
---
 sysdeps/mach/hurd/recvmsg.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Patch

diff --git a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c
index e06b0fe3ba..4254dca627 100644
--- a/sysdeps/mach/hurd/recvmsg.c
+++ b/sysdeps/mach/hurd/recvmsg.c
@@ -201,8 +201,10 @@  __libc_recvmsg (int fd, struct msghdr *message, int flags)
 	    err = reauthenticate (ports[i], &newports[newfds]);
 	    if (err)
 	      goto cleanup;
+	    /* We do not currently take any flag from the sender.  */
 	    fds[j] = opened_fds[newfds] = _hurd_intern_fd (newports[newfds],
-							   fds[j] | fd_flags,
+							   (fds[j] & 0)
+							   | fd_flags,
 							   0);
 	    if (fds[j] == -1)
 	      {