linux/drivers/usb/class
Oliver Neukum 9723602387 usb: cdc-wdm: close race between read and workqueue
commit 339f83612f upstream.

wdm_read() cannot race with itself. However, in
service_outstanding_interrupt() it can race with the
workqueue, which can be triggered by error handling.

Hence we need to make sure that the WDM_RESPONDING
flag is not just only set but tested.

Fixes: afba937e54 ("USB: CDC WDM driver")
Cc: stable <stable@kernel.org>
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Link: https://lore.kernel.org/r/20240314115132.3907-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-03 15:11:53 +02:00
..
cdc-acm.c usb: cdc-acm: return correct error code on unsupported break 2024-01-25 15:45:23 -08:00
cdc-acm.h USB: cdc-acm: use CDC serial-state defines 2022-07-25 10:57:41 +02:00
cdc-wdm.c usb: cdc-wdm: close race between read and workqueue 2024-04-03 15:11:53 +02:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
usblp.c USB: make devnode() callback in usb_class_driver take a const * 2022-10-20 12:11:56 +02:00
usbtmc.c USB: usbtmc: Fix direction for 0-length ioctl control messages 2023-05-13 17:25:49 +09:00