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
..
2018-08-25 18:13:10 -07:00
2018-08-18 11:44:53 -07:00
2018-08-23 13:52:46 -07:00
2018-08-20 16:30:27 -07:00
2018-08-23 13:52:46 -07:00
2018-08-23 13:52:46 -07:00
2018-08-25 18:43:59 -07:00
2018-08-23 15:44:58 -07:00
2018-08-08 15:44:47 +10:00
2018-08-20 15:38:44 -07:00
2018-08-23 13:52:46 -07:00
2018-08-23 15:34:48 -07:00
2018-08-23 13:44:43 -07:00
2018-08-25 14:12:36 -07:00
2018-08-16 12:26:24 -07:00
2018-08-25 18:13:10 -07:00
2018-08-23 13:52:46 -07:00
2018-08-23 13:44:43 -07:00
2018-08-20 15:38:44 -07:00
2018-08-22 14:14:15 -07:00
2018-08-18 11:04:51 -07:00
2018-08-20 11:36:07 +02:00
2018-08-20 15:38:44 -07:00
2018-08-25 14:12:36 -07:00
2018-08-20 16:30:27 -07:00
2018-08-25 18:13:10 -07:00
2018-08-23 14:02:22 -07:00
2018-08-18 16:45:27 -07:00
2018-08-23 13:52:46 -07:00
2018-08-24 09:34:23 -07:00
2018-08-19 09:30:44 -07:00
2018-08-23 13:52:46 -07:00
2018-08-17 11:32:50 -07:00
2018-08-24 08:45:19 -07:00
2018-08-24 08:45:19 -07:00
2018-08-18 11:04:51 -07:00