linux_dsm_epyc7002/drivers/media/usb/dvb-usb
Max Kellermann 48775cb73c [media] pctv452e: move buffer to heap, no mutex
commit 73d5c5c864 ("[media] pctv452e: don't do DMA on stack") caused
a NULL pointer dereference which occurs when dvb_usb_init()
calls dvb_usb_device_power_ctrl() for the first time, before the
frontend has been attached. It also caused a recursive deadlock because
tt3650_ci_msg_locked() has already locked the mutex.

So, partially revert it, but move the buffer to the heap
(DMA capable), not to the stack (may not be DMA capable).
Instead of sharing one buffer which needs mutex protection,
do a new heap allocation for each call.

Fixes: commit 73d5c5c864 ("[media] pctv452e: don't do DMA on stack")

Cc: stable@vger.kernel.org # For Kernel 4.9
Signed-off-by: Max Kellermann <max.kellermann@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-12-21 07:15:36 -02:00
..
a800.c [media] media: change email address 2016-01-25 12:01:08 -02:00
af9005-fe.c [media] dvb: make DVB frontend *_ops instances "const" 2016-11-18 15:00:22 -02:00
af9005-remote.c
af9005-script.h
af9005.c [media] af9005: remove a printk that would require a KERN_CONT 2016-11-18 10:02:47 -02:00
af9005.h
az6027.c [media] az6027: Add support for Elgato EyeTV Sat v3 2016-05-06 15:53:23 -03:00
az6027.h
cinergyT2-core.c Linux 4.9-rc5 2016-11-16 16:42:27 -02:00
cinergyT2-fe.c [media] dvb: make DVB frontend *_ops instances "const" 2016-11-18 15:00:22 -02:00
cinergyT2.h
cxusb.c [media] dvb-usb-cxusb: Geniatech T230 - resync TS FIFO after lock 2016-11-18 13:46:28 -02:00
cxusb.h [media] dvb-usb-cxusb: Geniatech T230 - resync TS FIFO after lock 2016-11-18 13:46:28 -02:00
dib07x0.h
dib0700_core.c Linux 4.9-rc5 2016-11-16 16:42:27 -02:00
dib0700_devices.c [media] dvb-usb: don't break long lines 2016-10-21 09:39:51 -02:00
dib0700.h [media] dvb: Get rid of typedev usage for enums 2015-06-09 17:47:35 -03:00
dibusb-common.c [media] dibusb: fix possible memory leak in dibusb_rc_query() 2016-11-21 11:40:45 -02:00
dibusb-mb.c [media] media: change email address 2016-01-25 12:01:08 -02:00
dibusb-mc-common.c [media] dvb-usb: remove another redundant #include <linux/kconfig.h> 2016-11-21 14:30:01 -02:00
dibusb-mc.c [media] media: change email address 2016-01-25 12:01:08 -02:00
dibusb.h [media] dibusb: don't do DMA on stack 2016-10-14 12:38:34 -03:00
digitv.c [media] digitv: handle error code on RC query 2016-10-14 12:52:27 -03:00
digitv.h [media] digitv: don't do DMA on stack 2016-10-14 12:40:47 -03:00
dtt200u-fe.c [media] dvb: make DVB frontend *_ops instances "const" 2016-11-18 15:00:22 -02:00
dtt200u.c dvb-usb: move data_mutex to struct dvb_usb_device 2016-11-13 10:02:22 -08:00
dtt200u.h [media] media: change email address 2016-01-25 12:01:08 -02:00
dtv5100.c [media] dtv5100: don't do DMA on stack 2016-10-14 12:44:03 -03:00
dtv5100.h
dvb-usb-common.h [media] media: change email address 2016-01-25 12:01:08 -02:00
dvb-usb-dvb.c [media] dvb-usb: don't break long lines 2016-10-21 09:39:51 -02:00
dvb-usb-firmware.c [media] dvb-usb: don't break long lines 2016-10-21 09:39:51 -02:00
dvb-usb-i2c.c [media] media: change email address 2016-01-25 12:01:08 -02:00
dvb-usb-init.c dvb-usb: move data_mutex to struct dvb_usb_device 2016-11-13 10:02:22 -08:00
dvb-usb-remote.c [media] media: change email address 2016-01-25 12:01:08 -02:00
dvb-usb-urb.c [media] media: change email address 2016-01-25 12:01:08 -02:00
dvb-usb.h Linux 4.9-rc5 2016-11-16 16:42:27 -02:00
dw2102.c [media] Add Cinergy S2 rev.4 support 2016-10-24 18:33:11 -02:00
dw2102.h
friio-fe.c [media] dvb: make DVB frontend *_ops instances "const" 2016-11-18 15:00:22 -02:00
friio.c [media] dvb-usb: don't break long lines 2016-10-21 09:39:51 -02:00
friio.h
gp8psk.c Linux 4.9-rc5 2016-11-16 16:42:27 -02:00
gp8psk.h gp8psk: Fix DVB frontend attach 2016-11-13 10:02:22 -08:00
Kconfig [media] dvb-usb: avoid link error with dib3000m{b,c| 2016-09-22 12:38:27 -03:00
m920x.c [media] squash lines for simple wrapper functions 2016-11-16 13:28:40 -02:00
m920x.h
Makefile gp8psk: Fix DVB frontend attach 2016-11-13 10:02:22 -08:00
nova-t-usb2.c [media] nova-t-usb2: handle error code on RC query 2016-10-14 12:52:25 -03:00
opera1.c [media] dvb-usb: don't break long lines 2016-10-21 09:39:51 -02:00
pctv452e.c [media] pctv452e: move buffer to heap, no mutex 2016-12-21 07:15:36 -02:00
technisat-usb2.c [media] dvb-usb: don't break long lines 2016-10-21 09:39:51 -02:00
ttusb2.c [media] media: change email address 2016-01-25 12:01:08 -02:00
ttusb2.h
umt-010.c [media] media: change email address 2016-01-25 12:01:08 -02:00
usb-urb.c [media] media: change email address 2016-01-25 12:01:08 -02:00
vp702x-fe.c [media] dvb: make DVB frontend *_ops instances "const" 2016-11-18 15:00:22 -02:00
vp702x.c [media] media: change email address 2016-01-25 12:01:08 -02:00
vp702x.h
vp7045-fe.c [media] dvb: make DVB frontend *_ops instances "const" 2016-11-18 15:00:22 -02:00
vp7045.c [media] media: change email address 2016-01-25 12:01:08 -02:00
vp7045.h [media] media: change email address 2016-01-25 12:01:08 -02:00