Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: scsi: core: Run queues for all non-SDEV_DEL devices from scsi_run_host_queues While a SCSI host is in a recovery state, scsi_mq_requeue_cmd() will not set the requeue list for a requeued command to be kicked in the future. The expectation is a call to scsi_run_host_queues() will kick all SCSI devices once the recovery state is cleared. However, scsi_run_host_queues() uses shost_for_each_device() which uses scsi_device_get() 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. scsi_run_host_queues() needs to run against more devices than the macro shost_for_each_device() allows. Instead of using the too limiting scsi_device_get() state checks, only ignore devices in SDEV_DEL state or when unable to acquire a reference. Attempt to run the queues for all other devices when scsi_run_host_queues() is called.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 8b566edbdbfb5cde31a322c57932694ff48125ed before 15fb19af49f2073ed77fad16aaabc648b0ca6800; affected 8b566edbdbfb5cde31a322c57932694ff48125ed before d4dddfecdbb5467bef158d4e1486459808357fef; affected 8b566edbdbfb5cde31a322c57932694ff48125ed before 475f2b37a78f4c698967a7f14f325f04e24c9175; affected 8b566edbdbfb5cde31a322c57932694ff48125ed before c740e13e7fe32d8e4d9a1699f65b8daf6709895a; affected 8b566edbdbfb5cde31a322c57932694ff48125ed before 7205b58702273baf21d6ba7992e6ba15852325f7 |
| Linux / Linux | affected 6.5; unaffected 0 before 6.5; unaffected 6.6.143 through 6.6.*; unaffected 6.12.93 through 6.12.*; unaffected 6.18.35 through 6.18.*; unaffected 7.0.12 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/15fb19af49f2073ed77fad16aaabc648b0ca6800
- https://git.kernel.org/stable/c/d4dddfecdbb5467bef158d4e1486459808357fef
- https://git.kernel.org/stable/c/475f2b37a78f4c698967a7f14f325f04e24c9175
- https://git.kernel.org/stable/c/c740e13e7fe32d8e4d9a1699f65b8daf6709895a
- https://git.kernel.org/stable/c/7205b58702273baf21d6ba7992e6ba15852325f7
ADP enrichment
No English description supplied.
No references supplied.