linux_dsm_epyc7002/drivers/media
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
..
cec media: cec: remove cec-edid.c 2018-09-24 09:11:06 -04:00
common media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
dvb-core media: dvb: use signal types to discover pads 2018-09-17 13:16:19 -04:00
dvb-frontends media: au8522: declare its own pads 2018-09-17 13:16:19 -04:00
firewire media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
i2c media: cec/v4l2: move V4L2 specific CEC functions to V4L2 2018-09-24 09:11:04 -04:00
mmc media: siano: use GFP_DMA only for smssdio 2018-05-15 08:04:42 -04:00
pci media: pci: ivtv: Fix a sleep-in-atomic-context bug in ivtv_yuv_init() 2018-09-24 09:09:07 -04:00
platform media: cec/v4l2: move V4L2 specific CEC functions to V4L2 2018-09-24 09:11:04 -04:00
radio media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
rc media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
spi media: cxd2880-spi: Modified how to declare structure 2018-05-05 10:37:12 -04:00
tuners media: si2157: declare its own pads 2018-09-17 13:16:19 -04:00
usb media: mxl111sf: declare its own pads 2018-09-17 13:16:19 -04:00
v4l2-core media: cec/v4l2: move V4L2 specific CEC functions to V4L2 2018-09-24 09:11:04 -04:00
Kconfig media: cec: Kconfig coding style issue 2018-05-09 16:26:50 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
media-device.c media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
media-devnode.c MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
media-entity.c media: v4l2-mc: switch it to use the new approach to setup pipelines 2018-09-17 13:16:19 -04:00