linux/drivers/media/usb
Ezequiel Garcia 6992effe53 media: gspca: Kill all URBs before releasing any of them
Some subdrivers access the gspca_dev->urb array in the completion handler.
To prevent use-after-free (actually, NULL dereferences) we need to
synchronously kill all the URBs before we release them.

In particular, this is currently the case for drivers such
as sn9c20x and sonixj, which access the gspca_dev->urb[0]
in the context of completion handler for *any* of the URBs.

This commit changes the destroy_urb implementation, so it kills
all URBs first, and then proceed to set the URBs to NULL in the
array and release them.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-05-28 16:05:03 -04:00
..
airspy media: usb: make video_device const 2017-08-27 08:45:32 -04:00
as102 media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
au0828 media: add tuner standby op, use where needed 2018-03-21 12:05:39 -04:00
b2c2 media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
cpia2 media: cpia2_usb: drop bogus interface-release call 2018-03-21 12:12:04 -04:00
cx231xx media: usb: cx231xx-417: include linux/slab.h header 2018-05-11 11:37:57 -04:00
dvb-usb media: gp8psk: don't abuse of GFP_DMA 2018-05-14 07:18:19 -04:00
dvb-usb-v2 media: dvbsky: use just one mutex for serializing device R/W ops 2018-05-10 07:05:14 -04:00
em28xx media: em28xx: Demote several dev_err to dev_info 2018-05-11 11:30:38 -04:00
go7007 media: go7007: fix two sparse warnings 2018-05-25 15:30:04 -04:00
gspca media: gspca: Kill all URBs before releasing any of them 2018-05-28 16:05:03 -04:00
hackrf media: hackrf: group device capabilities 2018-05-11 11:25:23 -04:00
hdpvr media: hdpvr: fix compiler warning 2018-05-25 15:31:23 -04:00
msi2500 media: usb: fix spelling mistake: "synchronuously" -> "synchronously" 2017-11-07 03:47:09 -05:00
pulse8-cec media: pulse8-cec: print time using time64_t 2017-12-08 11:08:22 -05:00
pvrusb2 media: pvrusb2: delete unneeded include 2018-05-09 16:28:19 -04:00
pwc media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
rainshadow-cec media: usb: rainshadow-cec: constify serio_device_id 2017-08-20 08:27:29 -04:00
s2255 media: s2255drv: fix a casting warning 2018-03-23 06:56:55 -04:00
siano media: siano: use GFP_DMA only for smssdio 2018-05-15 08:04:42 -04:00
stk1160 media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
stkwebcam vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
tm6000 MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
ttusb-budget media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
ttusb-dec media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
usbtv media: usbtv: Implement wait_prepare and wait_finish 2018-05-25 15:17:19 -04:00
usbvision media: media/usbvision: fix spelling mistake: "compresion" -> "compression" 2018-05-09 16:24:02 -04:00
uvc media: uvc: to the right check at uvc_ioctl_enum_framesizes() 2018-03-23 08:37:27 -04:00
zr364xx media: zr364xx: avoid casting just to print pointer address 2018-03-23 07:31:59 -04:00
Kconfig
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00