[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200513193641.2703043-1-hch@lst.de>
Date: Wed, 13 May 2020 21:36:41 +0200
From: Christoph Hellwig <hch@....de>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, Eric Dumazet <eric.dumazet@...il.com>
Subject: [PATCH net-next] ipv6: set msg_control_is_user in do_ipv6_getsockopt
While do_ipv6_getsockopt does not call the high-level recvmsg helper,
the msghdr eventually ends up being passed to put_cmsg anyway, and thus
needs msg_control_is_user set to the proper value.
Fixes: 1f466e1f15cf ("net: cleanly handle kernel vs user buffers for ->msg_control")
Reported-by: Eric Dumazet <eric.dumazet@...il.com>
Signed-off-by: Christoph Hellwig <hch@....de>
---
net/ipv6/ipv6_sockglue.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
index 18d05403d3b52..a0e50cc57e545 100644
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -1075,6 +1075,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
msg.msg_control = optval;
msg.msg_controllen = len;
msg.msg_flags = flags;
+ msg.msg_control_is_user = true;
lock_sock(sk);
skb = np->pktoptions;
--
2.26.2
Powered by blists - more mailing lists