CVE-2026-90031
Description
In the Linux kernel, the following vulnerability has been resolved: usb-storage: ene_ub6250: fix race between scan work and probe ene_ub6250_probe() calls usb_stor_probe2(), which starts the usb-storage infrastructure and schedules the delayed scan work. The driver then calls ene_get_card_type(), which sends an ENE command through ene_send_scsi_cmd() and the usb-storage bulk transfer helpers. Both the delayed scan work, through usb_stor_Bulk_max_lun(), and ene_get_card_type() use us->current_urb. The scan work serializes this access with us->dev_mutex, but the ENE card-type probe does not. If the scan work runs while ene_get_card_type() is still using us->current_urb, usb_submit_urb() warns that the URB is already active. Serialize ene_get_card_type() with us->dev_mutex, matching the locking used by the scan path.
References
- https://git.kernel.org/stable/c/1c67f2ba9c5f7c5ab3670671c0d51c6504bcaf74
- https://git.kernel.org/stable/c/445fc368c6bc73eff0aeb3818cf5f355facfbb16
- https://git.kernel.org/stable/c/5082546702c32a2700894d2c0ace784e038ef6a3
- https://git.kernel.org/stable/c/8936d95dd04d34db96d4d1e3899eee52605bbedc
- https://git.kernel.org/stable/c/9481bc04a8c351ed883a7f0e10939bbe9120ead7