af_packet: avoid a false positive warning in packet_setsockopt()
authorEric Dumazet <edumazet@google.com>
Fri, 5 Apr 2024 11:49:39 +0000 (11:49 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Apr 2024 12:19:01 +0000 (13:19 +0100)
commit86d43e2bf93ccac88ef71cee36a23282ebd9e427
tree0150f62547726eade11ed8e800f38122ee7b3d49
parenta29689e60ed3e65463d6462390caad669d08a6b7
af_packet: avoid a false positive warning in packet_setsockopt()

Although the code is correct, the following line

copy_from_sockptr(&req_u.req, optval, len));

triggers this warning :

memcpy: detected field-spanning write (size 28) of single field "dst" at include/linux/sockptr.h:49 (size 16)

Refactor the code to be more explicit.

Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/packet/af_packet.c