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 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 >