forked from Minki/linux
net: clear msg_get_inq in __get_compat_msghdr()
syzbot is still complaining uninit-value in tcp_recvmsg(), for commit1228b34c8d
("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:1228b34c8d
("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>
This commit is contained in:
parent
68fe503c2b
commit
d547c1b717
@ -52,6 +52,7 @@ int __get_compat_msghdr(struct msghdr *kmsg,
|
|||||||
kmsg->msg_namelen = sizeof(struct sockaddr_storage);
|
kmsg->msg_namelen = sizeof(struct sockaddr_storage);
|
||||||
|
|
||||||
kmsg->msg_control_is_user = true;
|
kmsg->msg_control_is_user = true;
|
||||||
|
kmsg->msg_get_inq = 0;
|
||||||
kmsg->msg_control_user = compat_ptr(msg->msg_control);
|
kmsg->msg_control_user = compat_ptr(msg->msg_control);
|
||||||
kmsg->msg_controllen = msg->msg_controllen;
|
kmsg->msg_controllen = msg->msg_controllen;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user