net: initialize msg.msg_flags in recvfrom
authorAlexander Potapenko <glider@google.com>
Wed, 8 Mar 2017 17:08:16 +0000 (18:08 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Mar 2017 01:21:21 +0000 (17:21 -0800)
KMSAN reports a use of uninitialized memory in put_cmsg() because
msg.msg_flags in recvfrom haven't been initialized properly.
The flag values don't affect the result on this path, but it's still a
good idea to initialize them explicitly.

Signed-off-by: Alexander Potapenko <glider@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/socket.c

index 2c1e8677ff2d4fdb2f29eaa6e06a7c323d27d981..e0757e648c0c45d78fc40e4bd4b2cff751f7ccb7 100644 (file)
@@ -1731,6 +1731,7 @@ SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size,
        /* We assume all kernel code knows the size of sockaddr_storage */
        msg.msg_namelen = 0;
        msg.msg_iocb = NULL;
+       msg.msg_flags = 0;
        if (sock->file->f_flags & O_NONBLOCK)
                flags |= MSG_DONTWAIT;
        err = sock_recvmsg(sock, &msg, flags);