net: Ensure ->msg_control_user is used for user buffers
authorKevin Brodsky <kevin.brodsky@arm.com>
Thu, 13 Apr 2023 11:47:03 +0000 (12:47 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Apr 2023 10:09:27 +0000 (11:09 +0100)
commitc39ef2130491b2382f2c81774c825527d4bdf4e2
treec092292a7e77f51f4bf7ccc9fe7a10e4346f4b5b
parenteaaa4e92397981c65dae7b9a38425b8fa984d674
net: Ensure ->msg_control_user is used for user buffers

Since commit 1f466e1f15cf ("net: cleanly handle kernel vs user
buffers for ->msg_control"), pointers to user buffers should be
stored in struct msghdr::msg_control_user, instead of the
msg_control field.  Most users of msg_control have already been
converted (where user buffers are involved), but not all of them.

This patch attempts to address the remaining cases. An exception is
made for null checks, as it should be safe to use msg_control
unconditionally for that purpose.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/compat.c
net/core/scm.c
net/ipv4/tcp.c