linux-uconsole/drivers/usb/class
Jia-Ju Bai b8b53adeca usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()
commit 6e22e3af7b upstream.

wdm_in_callback() is a completion handler function for the USB driver.
So it should not sleep. But it calls service_outstanding_interrupt(),
which calls usb_submit_urb() with GFP_KERNEL.

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>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-26 08:35:08 +02:00
..
cdc-acm.c usb: cdc_acm: Add quirk for Castles VEGA3000 2018-07-28 07:45:03 +02:00
cdc-acm.h cdc-acm: fix wrong pipe type on rx interrupt xfers 2016-09-07 08:32:43 +02:00
cdc-wdm.c usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt() 2018-09-26 08:35:08 +02:00
Kconfig
Makefile
usblp.c usblp: do not set TASK_INTERRUPTIBLE before lock 2015-11-19 16:31:42 -08:00
usbtmc.c USB: usbtmc: add missing endpoint sanity check 2017-03-30 09:35:19 +02:00