linux/drivers/media/usb/pvrusb2
Dongliang Mu f2f6e67522 media: pvrusb2: fix memory leak in pvr_probe
commit 945a9a8e44 upstream.

The error handling code in pvr2_hdw_create forgets to unregister the
v4l2 device. When pvr2_hdw_create returns back to pvr2_context_create,
it calls pvr2_context_destroy to destroy context, but mp->hdw is NULL,
which leads to that pvr2_hdw_destroy directly returns.

Fix this by adding v4l2_device_unregister to decrease the refcount of
usb interface.

Reported-by: syzbot+77b432d57c4791183ed4@syzkaller.appspotmail.com
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-05 10:30:07 +02:00
..
Kconfig
Makefile
pvrusb2-audio.c
pvrusb2-audio.h
pvrusb2-context.c
pvrusb2-context.h
pvrusb2-cs53l32a.c
pvrusb2-cs53l32a.h
pvrusb2-ctrl.c
pvrusb2-ctrl.h
pvrusb2-cx2584x-v4l.c
pvrusb2-cx2584x-v4l.h
pvrusb2-debug.h
pvrusb2-debugifc.c
pvrusb2-debugifc.h
pvrusb2-devattr.c
pvrusb2-devattr.h
pvrusb2-dvb.c
pvrusb2-dvb.h
pvrusb2-eeprom.c
pvrusb2-eeprom.h
pvrusb2-encoder.c
pvrusb2-encoder.h
pvrusb2-fx2-cmd.h
pvrusb2-hdw-internal.h
pvrusb2-hdw.c
pvrusb2-hdw.h
pvrusb2-i2c-core.c
pvrusb2-i2c-core.h
pvrusb2-io.c
pvrusb2-io.h
pvrusb2-ioread.c
pvrusb2-ioread.h
pvrusb2-main.c
pvrusb2-std.c
pvrusb2-std.h
pvrusb2-sysfs.c
pvrusb2-sysfs.h
pvrusb2-util.h
pvrusb2-v4l2.c
pvrusb2-v4l2.h
pvrusb2-video-v4l.c
pvrusb2-video-v4l.h
pvrusb2-wm8775.c
pvrusb2-wm8775.h
pvrusb2.h