lkml.org 
[lkml]   [2021]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 62/64] netlink: Avoid false-positive memcpy() warning
    On Tue, Jul 27, 2021 at 01:58:53PM -0700, Kees Cook wrote:
    > 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 <keescook@chromium.org>
    > ---
    > 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

    \
     
     \ /
      Last update: 2021-07-28 07:50    [W:25.809 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site