mbox series

[0/7] CDC_WDM: fix hangs and error reporting in multithreaded cases

Message ID 20200923092136.14824-1-oneukum@suse.com
Headers show
Series CDC_WDM: fix hangs and error reporting in multithreaded cases | expand

Message

Oliver Neukum Sept. 23, 2020, 9:21 a.m. UTC
Testing has shown

1. race conditions in the multithreaded use case
2. a vulnerability against malicious hardware
3. a minor race against disconnect() in flush()

in the CDC-WDM driver. All have a common cause in the interactions
of the flush() method with other parts of the driver. Hence they
require a common rework of the flush() method.

Long and exhaustive discussion and testing of these changes,
however, revealed that they in turn introduce problems
with error reporting and long periods of uninterruptible sleep.
Those require further changes to flush() and the implementation
of fsync().

The issue dates back to the introduction of the driver so the fixes
also should go into stable.

Signed-off-by: Oliver Neukum <oneukum@suse.com>