media: gscpa/stv06xx: fix memory leak
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 8 Apr 2021 10:31:20 +0000 (12:31 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 9 Apr 2021 11:19:38 +0000 (13:19 +0200)
commit4f4e6644cd876c844cdb3bea2dd7051787d5ae25
treea938682e10b0496eac7d6c63e7a34c24f3b73fbe
parent98965af1ebc3a652a597cee902f462f496ef9e11
media: gscpa/stv06xx: fix memory leak

For two of the supported sensors the stv06xx driver allocates memory which
is stored in sd->sensor_priv. This memory is freed on a disconnect, but if
the probe() fails, then it isn't freed and so this leaks memory.

Add a new probe_error() op that drivers can use to free any allocated
memory in case there was a probe failure.

Thanks to Pavel Skripkin <paskripkin@gmail.com> for discovering the cause
of the memory leak.

Reported-and-tested-by: syzbot+e7f4c64a4248a0340c37@syzkaller.appspotmail.com
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/usb/gspca/gspca.c
drivers/media/usb/gspca/gspca.h
drivers/media/usb/gspca/stv06xx/stv06xx.c