linux-user: fix recvmsg emulation
authorAndreas Schwab <schwab@suse.de>
Tue, 12 Feb 2019 16:34:35 +0000 (17:34 +0100)
committerLaurent Vivier <laurent@vivier.eu>
Thu, 7 Mar 2019 09:57:28 +0000 (10:57 +0100)
Set msg_flags in the returned struct msghdr.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <mvmimxprmn8.fsf@suse.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/syscall.c

index 5bbb72f3d5fce05cedf58fac3b37b816ac3a87af..f380048cbd8b4921afa79b5fd7072ddba51ebe00 100644 (file)
@@ -2759,6 +2759,7 @@ static abi_long do_sendrecvmsg_locked(int fd, struct target_msghdr *msgp,
             }
             if (!is_error(ret)) {
                 msgp->msg_namelen = tswap32(msg.msg_namelen);
+                msgp->msg_flags = tswap32(msg.msg_flags);
                 if (msg.msg_name != NULL && msg.msg_name != (void *)-1) {
                     ret = host_to_target_sockaddr(tswapal(msgp->msg_name),
                                     msg.msg_name, msg.msg_namelen);