media: gspca: zero usb_buf
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 12 Nov 2019 09:22:24 +0000 (10:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Feb 2020 14:43:38 +0000 (14:43 +0000)
commit de89d0864f66c2a1b75becfdd6bf3793c07ce870 upstream.

Allocate gspca_dev->usb_buf with kzalloc instead of kmalloc to
ensure it is property zeroed. This fixes various syzbot errors
about uninitialized data.

Syzbot links:

https://syzkaller.appspot.com/bug?extid=32310fc2aea76898d074
https://syzkaller.appspot.com/bug?extid=99706d6390be1ac542a2
https://syzkaller.appspot.com/bug?extid=64437af5c781a7f0e08e

Reported-and-tested-by: syzbot+32310fc2aea76898d074@syzkaller.appspotmail.com
Reported-and-tested-by: syzbot+99706d6390be1ac542a2@syzkaller.appspotmail.com
Reported-and-tested-by: syzbot+64437af5c781a7f0e08e@syzkaller.appspotmail.com
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/usb/gspca/gspca.c

index b12356c..c9a2b29 100644 (file)
@@ -1473,7 +1473,7 @@ int gspca_dev_probe2(struct usb_interface *intf,
                pr_err("couldn't kzalloc gspca struct\n");
                return -ENOMEM;
        }
-       gspca_dev->usb_buf = kmalloc(USB_BUF_SZ, GFP_KERNEL);
+       gspca_dev->usb_buf = kzalloc(USB_BUF_SZ, GFP_KERNEL);
        if (!gspca_dev->usb_buf) {
                pr_err("out of memory\n");
                ret = -ENOMEM;