diff options
author | Johan Hovold <[email protected]> | 2019-09-25 11:29:12 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2019-10-04 11:02:59 +0200 |
commit | 44efc269db7929f6275a1fa927ef082e533ecde0 (patch) | |
tree | 2b3af409defcaf291d96984a62a58f6d51e6aa7a /drivers/usb/cdns3/cdns3-debug.h | |
parent | 9816144313d33974bbd4599d4e8e554c11cae27e (diff) |
USB: adutux: fix use-after-free on disconnect
The driver was clearing its struct usb_device pointer, which it used as
an inverted disconnected flag, before deregistering the character device
and without serialising against racing release().
This could lead to a use-after-free if a racing release() callback
observes the cleared pointer and frees the driver data before
disconnect() is finished with it.
This could also lead to NULL-pointer dereferences in a racing open().
Fixes: f08812d5eb8f ("USB: FIx locks and urb->status in adutux (updated)")
Cc: stable <[email protected]> # 2.6.24
Reported-by: [email protected]
Tested-by: [email protected]
Signed-off-by: Johan Hovold <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-debug.h')
0 files changed, 0 insertions, 0 deletions