In the Linux kernel, the following vulnerability has been resolved: xhci: Fix null pointer dereference when host dies Make sure xhcifreedev() and xhcikillendpointurbs() do not race and cause null pointer dereference when host suddenly dies. Usb core may call xhcifreedev() which frees the xhci->devs[slotid] virt device at the same time that xhcikillendpoint_urbs() tries to loop through all the device's endpoints, checking if there are any cancelled urbs left to give back. hold the xhci spinlock while freeing the virt device