linux/drivers/media/usb
James Patrick-Evans d863bec646 media: fix airspy usb probe error path
commit aa93d1fee8 upstream.

Fix a memory leak on probe error of the airspy usb device driver.

The problem is triggered when more than 64 usb devices register with
v4l2 of type VFL_TYPE_SDR or VFL_TYPE_SUBDEV.

The memory leak is caused by the probe function of the airspy driver
mishandeling errors and not freeing the corresponding control structures
when an error occours registering the device to v4l2 core.

A badusb device can emulate 64 of these devices, and then through
continual emulated connect/disconnect of the 65th device, cause the
kernel to run out of RAM and crash the kernel, thus causing a local DOS
vulnerability.

Fixes CVE-2016-5400

Signed-off-by: James Patrick-Evans <james@jmp-e.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2016-08-10 11:49:29 +02:00
..
airspy media: fix airspy usb probe error path 2016-08-10 11:49:29 +02:00
as102 [media] as102: fix error return code 2015-05-01 07:00:51 -03:00
au0828 au0828: Fix dev_state handling 2016-04-20 15:42:09 +09:00
b2c2 [media] drivers: media: usb: b2c2: use usb_*_coherent() instead of pci_*_consistent() in flexcop-usb.c 2013-10-17 11:26:41 -03:00
cpia2 [media] media: remove the setting of the flag V4L2_FL_USE_FH_PRIO 2014-07-04 16:14:59 -03:00
cx231xx [media] cx231xx: fix handling cx231xx_read_i2c_data result 2015-10-03 11:32:32 -03:00
dvb-usb [media] Technisat SkyStar USB HD,(DVB-S/S2) too much URBs for arm devices 2015-08-11 14:43:23 -03:00
dvb-usb-v2 media updates for v4.4-rc1 2015-11-05 12:05:15 -08:00
em28xx [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
go7007 [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
gspca gspca: ov534/topro: prevent a division by 0 2016-03-03 15:07:14 -08:00
hackrf [media] hackrf: move RF gain ctrl enable behind module parameter 2015-12-18 15:25:29 -02:00
hdpvr [media] hdpvr: embed video_device 2015-04-02 23:36:54 -03:00
msi2500 [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
pvrusb2 [media] v4l2: replace s_mbus_fmt by set_fmt in bridge drivers 2015-05-01 09:01:16 -03:00
pwc pwc: Add USB id for Philips Spc880nc webcam 2016-04-12 09:08:42 -07:00
s2255 [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
siano [media] siano: avoid a linkedit error if !MC 2015-03-02 14:17:01 -03:00
stk1160 [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
stkwebcam [media] stk-webcam: Delete an unnecessary check before the function call "vfree" 2015-03-02 14:53:27 -03:00
tm6000 [media] cx25821, cx88, tm6000: use SNDRV_DEFAULT_ENABLE_PNP 2015-10-01 08:42:52 -03:00
ttusb-budget [media] dvb: Get rid of typedev usage for enums 2015-06-09 17:47:35 -03:00
ttusb-dec [media] dvb: get rid of enum dmx_success 2015-10-06 19:53:02 -03:00
usbtv [media] media: videobuf2: Change queue_setup argument 2015-10-20 14:48:39 -02:00
usbvision usbvision: fix crash on detecting device with invalid configuration 2016-04-20 15:42:17 +09:00
uvc uvc: Forward compat ioctls to their handlers directly 2016-07-27 09:47:29 -07:00
zr364xx [media] usb drivers: use BUG_ON() instead of if () BUG 2015-06-09 18:30:09 -03:00
Kconfig [media] tlg2300: move to staging in preparation for removal 2014-12-16 23:21:43 -02:00
Makefile [media] tlg2300: move to staging in preparation for removal 2014-12-16 23:21:43 -02:00