In the Linux kernel, the following vulnerability has been resolved:
scsi: core: Run queues for all non-SDEVDEL devices from scsirunhostqueues
While a SCSI host is in a recovery state, scsimqrequeuecmd() will not set the requeue list for a requeued command to be kicked in the future. The expectation is a call to scsirunhostqueues() will kick all SCSI devices once the recovery state is cleared.
However, scsirunhostqueues() uses shostforeachdevice() which uses scsideviceget() and so will ignore devices in a partially removed state like SDEV_CANCEL. But these devices may also have requeued requests, leaving their requests stuck from not being kicked and causing the removal process of the device to hang.
scsirunhostqueues() needs to run against more devices than the macro shostforeachdevice() allows. Instead of using the too limiting scsideviceget() state checks, only ignore devices in SDEVDEL state or when unable to acquire a reference. Attempt to run the queues for all other devices when scsirunhostqueues() is called.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64003.json"
}