> Hey Andy, > > Thank you for the patch. > > On Wed, 30 Dec 2020 at 18:22, Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: >> >> When ->probe() fails in some cases it may not free resources. >> Replace few separated calls by v4l2_device_put() to clean up >> everything. >> >> Reported-by: syzbot+b4d54814b339b5c6bbd4@xxxxxxxxxxxxxxxxxxxxxxxxx >> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> >> --- >> I have no hardware and hadn't done any test of this. >> > > For bugs with reproducers such as this one, syzbot will test your > patches really quickly. > Just push the patch somewhere and then reply to syzbot bug report mail with > > #syz test: git://repo/address.git commit-hash "git://repo/address.git" does not look like a valid git repo address. > > You can experiment with syzbot by replying only to syzbot's mail address. > > See https://github.com/google/syzkaller/blob/master/docs/syzbot.md#testing-patches > for more details. > > Cheers, > Ezequiel > > >> drivers/media/usb/zr364xx/zr364xx.c | 4 +--- >> 1 file changed, 1 insertion(+), 3 deletions(-) >> >> diff --git a/drivers/media/usb/zr364xx/zr364xx.c b/drivers/media/usb/zr364xx/zr364xx.c >> index 1e1c6b4d1874..5b9e31af57cf 100644 >> --- a/drivers/media/usb/zr364xx/zr364xx.c >> +++ b/drivers/media/usb/zr364xx/zr364xx.c >> @@ -1533,9 +1533,7 @@ static int zr364xx_probe(struct usb_interface *intf, >> return 0; >> >> fail: >> - v4l2_ctrl_handler_free(hdl); >> - v4l2_device_unregister(&cam->v4l2_dev); >> - kfree(cam); >> + v4l2_device_put(&cam->v4l2_dev); >> return err; >> } >> >> -- >> 2.29.2 >>