linux/drivers/media/pci
Jia-Ju Bai 8d11eb847d media: pci: ivtv: Fix a sleep-in-atomic-context bug in ivtv_yuv_init()
The driver may sleep in a interrupt handler.

The function call paths (from bottom to top) in Linux-4.16 are:

[FUNC] kzalloc(GFP_KERNEL)
drivers/media/pci/ivtv/ivtv-yuv.c, 938:
	kzalloc in ivtv_yuv_init
drivers/media/pci/ivtv/ivtv-yuv.c, 960:
	ivtv_yuv_init in ivtv_yuv_next_free
drivers/media/pci/ivtv/ivtv-yuv.c, 1126:
	ivtv_yuv_next_free in ivtv_yuv_setup_stream_frame
drivers/media/pci/ivtv/ivtv-irq.c, 827:
	ivtv_yuv_setup_stream_frame in ivtv_irq_dec_data_req
drivers/media/pci/ivtv/ivtv-irq.c, 1013:
	ivtv_irq_dec_data_req in ivtv_irq_handler

To fix this bug, GFP_KERNEL is replaced with GFP_ATOMIC.

This bug is found by my static analysis tool DSAC.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-09-24 09:09:07 -04:00
..
b2c2 media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
bt8xx media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
cobalt media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
cx18 media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
cx88 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
cx23885 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
cx25821 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
ddbridge media: ddbridge/sx8: remove redundant check of iq_mode == 2 2018-09-12 09:14:05 -04:00
dm1105 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
dt3155 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
intel media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
ivtv media: pci: ivtv: Fix a sleep-in-atomic-context bug in ivtv_yuv_init() 2018-09-24 09:09:07 -04:00
mantis media: dvb: represent min/max/step/tolerance freqs in Hz 2018-08-02 18:10:48 -04:00
meye media: fix: media: pci: meye: validate offset to avoid arbitrary access 2018-09-12 10:47:50 -04:00
netup_unidvb media: netup_unidvb: don't check number of messages in the driver 2018-07-27 06:39:57 -04:00
ngene media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
pluto2 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
pt1 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
pt3 media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
saa7134 media: saa7134: declare its own pads 2018-09-17 13:16:19 -04:00
saa7146 media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
saa7164 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
smipcie media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
solo6x10 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
sta2x11 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
ttpci media: dvb: move compat handlers into drivers 2018-09-12 11:00:51 -04:00
tw68 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
tw686x media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
tw5864 media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
Kconfig media: zoran: move to staging in preparation for removal 2018-05-25 15:21:36 -04:00
Makefile media: zoran: move to staging in preparation for removal 2018-05-25 15:21:36 -04:00