256d013a9b
There are numerous issues in error handling code of cx231xx initialization. Double free (when cx231xx_init_dev() calls kfree(dev) via cx231xx_release_resources() and then cx231xx_usb_probe() does the same) and memory leaks (e.g. usb_get_dev() before (ifnum != 1) check in cx231xx_usb_probe()) are just a few of them. The patch fixes the issues in cx231xx_usb_probe() and cx231xx_init_dev() by moving usb_get_dev(interface_to_usbdev(interface)) below in code and implementing proper error handling. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
cx231xx-417.c | ||
cx231xx-audio.c | ||
cx231xx-avcore.c | ||
cx231xx-cards.c | ||
cx231xx-conf-reg.h | ||
cx231xx-core.c | ||
cx231xx-dif.h | ||
cx231xx-dvb.c | ||
cx231xx-i2c.c | ||
cx231xx-input.c | ||
cx231xx-pcb-cfg.c | ||
cx231xx-pcb-cfg.h | ||
cx231xx-reg.h | ||
cx231xx-vbi.c | ||
cx231xx-vbi.h | ||
cx231xx-video.c | ||
cx231xx.h |