In the Linux kernel, the following vulnerability has been resolved: usb: gadget: core: flush gadget workqueue after device removal device_del() can lead to new work being scheduled in gadget->work workqueue. This is observed, for example, with the dwc3 driver with the following call stack: device_del() gadget_unbind_driver() usb_gadget_disconnect_locked() dwc3_gadget_pullup() dwc3_gadget_soft_disconnect() usb_gadget_set_state() schedule_work(&gadget->work) Move flush_work() after device_del() to ensure the workqueue is cleaned up.
| Product | Vendor | Version |
|---|---|---|
| Linux | Linux | QCN6432 |
| Linux | Linux | < 6550bdf52846f85a2a3726a5aa0c7c4399f2fc02 |
| Linux | Linux | n/a |