]> git.itanic.dy.fi Git - linux-stable/commitdiff
net: clear msg_get_inq in __get_compat_msghdr()
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Wed, 14 Sep 2022 09:51:54 +0000 (18:51 +0900)
committerJakub Kicinski <kuba@kernel.org>
Tue, 20 Sep 2022 15:23:20 +0000 (08:23 -0700)
syzbot is still complaining uninit-value in tcp_recvmsg(), for
commit 1228b34c8d0ecf6d ("net: clear msg_get_inq in __sys_recvfrom() and
__copy_msghdr_from_user()") missed that __get_compat_msghdr() is called
instead of copy_msghdr_from_user() when MSG_CMSG_COMPAT is specified.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fixes: 1228b34c8d0ecf6d ("net: clear msg_get_inq in __sys_recvfrom() and __copy_msghdr_from_user()")
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/r/d06d0f7f-696c-83b4-b2d5-70b5f2730a37@I-love.SAKURA.ne.jp
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/compat.c

index fe9be3c56ef71431599cfd4e22d1d85c55a3949b..385f04a6be2f7a9ef1258619c06c5fdf37b093c5 100644 (file)
@@ -52,6 +52,7 @@ int __get_compat_msghdr(struct msghdr *kmsg,
                kmsg->msg_namelen = sizeof(struct sockaddr_storage);
 
        kmsg->msg_control_is_user = true;
+       kmsg->msg_get_inq = 0;
        kmsg->msg_control_user = compat_ptr(msg->msg_control);
        kmsg->msg_controllen = msg->msg_controllen;