diff options
author | Eric Dumazet <edumazet@google.com> | 2018-04-07 23:42:37 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-08 05:32:31 +0300 |
commit | 6091f09c2f79730d895149bcfe3d66140288cd0e (patch) | |
tree | b63a8be51e92f086ba933e9c7b53de1a6a7f0987 | |
parent | a466856e0b7ab269cdf9461886d007e88ff575b0 (diff) | |
download | linux-6091f09c2f79730d895149bcfe3d66140288cd0e.tar.xz |
netlink: fix uninit-value in netlink_sendmsg
syzbot reported :
BUG: KMSAN: uninit-value in ffs arch/x86/include/asm/bitops.h:432 [inline]
BUG: KMSAN: uninit-value in netlink_sendmsg+0xb26/0x1310 net/netlink/af_netlink.c:1851
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/netlink/af_netlink.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index fa556fdef57d..55342c4d5cec 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -1844,6 +1844,8 @@ static int netlink_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) if (msg->msg_namelen) { err = -EINVAL; + if (msg->msg_namelen < sizeof(struct sockaddr_nl)) + goto out; if (addr->nl_family != AF_NETLINK) goto out; dst_portid = addr->nl_pid; |