HomeFreeBSD

usb(4): Fix for use after free in combination with EVDEV_SUPPORT.

Description

usb(4): Fix for use after free in combination with EVDEV_SUPPORT.

When EVDEV_SUPPORT was introduced, the USB transfers may be running
after the main FIFO is closed. In connection to this a race may appear
which can lead to use-after-free scenarios. Fix this for all FIFO
consumers by initializing and resetting the FIFO queues under the
lock used by the client. Then the client driver will see an empty
queue in all cases a race may appear.

Found by: pho@
Sponsored by: NVIDIA Networking

(cherry picked from commit aad0c65d6b37364d8ba92ecb8c85e004398a5194)

Details

Provenance
hselaskyAuthored on Oct 24 2021, 11:38 AM
Parents
rG5033d0b56f5b: sinpi[fl] etc: Fix the ld128 implementations
Branches
Unknown
Tags
Unknown