Thread (152 messages) 152 messages, 21 authors, 2021-08-13

Re: [PATCH 62/64] netlink: Avoid false-positive memcpy() warning

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-07-28 05:49:51
Also in: dri-devel, linux-block, linux-hardening, linux-kbuild, linux-wireless, lkml, netdev

On Tue, Jul 27, 2021 at 01:58:53PM -0700, Kees Cook wrote:
quoted hunk ↗ jump to hunk
In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memcpy(), memmove(), and memset(), avoid
intentionally writing across neighboring fields.

Add a flexible array member to mark the end of struct nlmsghdr, and
split the memcpy() to avoid false positive memcpy() warning:

memcpy: detected field-spanning write (size 32) of single field (size 16)

Signed-off-by: Kees Cook <redacted>
---
 include/uapi/linux/netlink.h | 1 +
 net/netlink/af_netlink.c     | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h
index 4c0cde075c27..ddeaa748df5e 100644
--- a/include/uapi/linux/netlink.h
+++ b/include/uapi/linux/netlink.h
@@ -47,6 +47,7 @@ struct nlmsghdr {
 	__u16		nlmsg_flags;	/* Additional flags */
 	__u32		nlmsg_seq;	/* Sequence number */
 	__u32		nlmsg_pid;	/* Sending process port ID */
+	__u8		contents[];
Is this ok to change a public, userspace visable, structure?

Nothing breaks?

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help