CVE-2026-74754

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

VendorProductVersion RangeStatus
LinuxLinuxae0751ffc77e7f21629970fdab5528c573e637f8 < e83eed1bea142c8fe852fd53156845b88252ecd8affected
LinuxLinuxae0751ffc77e7f21629970fdab5528c573e637f8 < 872f486259ae0bc6b73ca4735a15d013241f73e9affected
LinuxLinux3.3affected
LinuxLinux0 < 3.3unaffected
LinuxLinux7.1.10 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References