git: 0b6161db7eff - stable/13 - linux: fix linux_recvmsg() MSG_PEEK flag handling

From: Alexander V. Chernikov <melifaro_at_FreeBSD.org>
Date: Mon, 28 Mar 2022 09:16:05 UTC
The branch stable/13 has been updated by melifaro:

URL: https://cgit.FreeBSD.org/src/commit/?id=0b6161db7eff92a37bc6d410ff9c9d5c3ac6f443

commit 0b6161db7eff92a37bc6d410ff9c9d5c3ac6f443
Author:     Alexander V. Chernikov <melifaro@FreeBSD.org>
AuthorDate: 2022-01-08 13:44:17 +0000
Commit:     Alexander V. Chernikov <melifaro@FreeBSD.org>
CommitDate: 2022-03-28 08:49:13 +0000

    linux: fix linux_recvmsg() MSG_PEEK flag handling
    
    Reviewed by:    kib
    MFC after:      2 weeks
    Differential Revision: https://reviews.freebsd.org/D33790
    
    (cherry picked from commit 96c524d8b2c9abe3927abf948fbbd73a7cb42c4a)
---
 sys/compat/linux/linux_socket.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c
index a2b45edf7bdc..d51b9945b434 100644
--- a/sys/compat/linux/linux_socket.c
+++ b/sys/compat/linux/linux_socket.c
@@ -1538,6 +1538,12 @@ linux_recvmsg_common(struct thread *td, l_int s, struct l_msghdr *msghdr,
 	if (error != 0)
 		return (error);
 
+	/*
+	 * Pass user-supplied recvmsg() flags in msg_flags field,
+	 * following sys_recvmsg() convention.
+	*/
+	linux_msghdr.msg_flags = flags;
+
 	error = linux_to_bsd_msghdr(msg, &linux_msghdr);
 	if (error != 0)
 		return (error);