CVE-2026-74754
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
scsi: core: pair EH runtime PM get and put
shost->eh_noresume is currently consulted twice in one error handling iteration: once before scsi_autopm_get_host() and once again before scsi_autopm_put_host().
That is racy when a PM-triggered error path flips shost->eh_noresume while the SCSI EH thread is still running.
The problem flow looks like this: PM path ufshcd_set_dev_pwr_mode() shost->eh_noresume = 1 ufshcd_execute_start_stop <– trigger EH … shost->eh_noresume = 0
EH path scsi_error_handler() if (!shost->eh_noresume) scsi_autopm_get_host() <– skipped … if (!shost->eh_noresume) scsi_autopm_put_host() <– executed later
In that case one EH iteration can skip autoresume on entry and still drop a runtime PM reference on exit. That leaves an unmatched runtime PM put and can trigger a runtime PM usage count underflow.
Fix this by making eh_noresume a regular bool so it can be accessed with READ_ONCE() and WRITE_ONCE(). Snapshot it once per EH iteration and use that snapshot for both runtime PM get and put decisions.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | ae0751ffc77e7f21629970fdab5528c573e637f8 < e83eed1bea142c8fe852fd53156845b88252ecd8 | affected |
| Linux | Linux | ae0751ffc77e7f21629970fdab5528c573e637f8 < 872f486259ae0bc6b73ca4735a15d013241f73e9 | affected |
| Linux | Linux | 3.3 | affected |
| Linux | Linux | 0 < 3.3 | unaffected |
| Linux | Linux | 7.1.10 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/e83eed1bea142c8fe852fd53156845b88252ecd8
- https://git.kernel.org/stable/c/872f486259ae0bc6b73ca4735a15d013241f73e9
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.