linux-sg2042/drivers/media/usb/gspca
Alan Stern e469d0b09a media: gspca: Fix memory leak in probe
The gspca driver leaks memory when a probe fails.  gspca_dev_probe2()
calls v4l2_device_register(), which takes a reference to the
underlying device node (in this case, a USB interface).  But the
failure pathway neglects to call v4l2_device_unregister(), the routine
responsible for dropping this reference.  Consequently the memory for
the USB interface and its device never gets released.

This patch adds the missing function call.

Reported-and-tested-by: syzbot+44e64397bd81d5e84cba@syzkaller.appspotmail.com

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: <stable@vger.kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-12-07 15:00:15 +01:00
..
gl860 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 65 2019-05-24 17:36:46 +02:00
m5602 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
stv06xx media: stv06xx: add missing descriptor sanity checks 2020-03-12 17:26:42 +01:00
Kconfig media: docs: move user-facing docs to the admin guide 2020-04-14 10:34:58 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
autogain_functions.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
benq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
conex.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
cpia1.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dtcs033.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
etoms.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 131 2019-05-30 11:25:14 -07:00
finepix.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
gspca.c media: gspca: Fix memory leak in probe 2020-12-07 15:00:15 +01:00
gspca.h media: gspca: convert to vb2 2018-05-28 15:57:17 -04:00
jeilinj.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
jl2005bcd.c media: gspca: remove redundant assignment to variable retval 2020-06-23 13:21:19 +02:00
jpeg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
kinect.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
konica.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
mars.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
mr97310a.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
nw80x.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
ov519.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
ov534.c media: gspca: ov534-ov772x: use semicolons rather than commas to separate statements 2020-11-16 10:31:06 +01:00
ov534_9.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
pac207.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
pac7302.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
pac7311.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
pac_common.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
se401.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
se401.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
sn9c20x.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
sn9c2028.c media: gspca: remove redundant initialization of variable status 2020-07-19 07:44:37 +02:00
sn9c2028.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
sonixb.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
sonixj.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
spca500.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
spca501.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
spca505.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
spca506.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
spca508.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
spca561.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
spca1528.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
sq905.c media: usb: null check create_singlethread_workqueue 2019-10-10 07:18:10 -03:00
sq905c.c media: gspca: null check create_singlethread_workqueue 2019-10-10 07:17:54 -03:00
sq930x.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
stk014.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
stk1135.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
stk1135.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
stv0680.c media: gspca: remove redundant assignment to variable ret 2019-10-24 18:32:52 -03:00
sunplus.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
t613.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
topro.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
touptek.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
tv8532.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 2019-05-21 11:52:39 +02:00
vc032x.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
vicam.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
w996Xcf.c media: gspca: zero usb_buf on error 2019-08-19 12:10:47 -03:00
xirlink_cit.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
zc3xx-reg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 258 2019-06-05 17:30:27 +02:00
zc3xx.c media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00