Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-74754

scsi: core: pair EH runtime PM get and put

Description

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 products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • ae0751ffc77e7f21629970fdab5528c573e637f8 to < 1ec5f6aa38ea990af37c49af7a4bb3db00da7f9daffected
  • ae0751ffc77e7f21629970fdab5528c573e637f8 to < 0038a2a75a15d163f428c93103c6d02d4d231a7aaffected
  • ae0751ffc77e7f21629970fdab5528c573e637f8 to < fdc93f4a801077efbf1b87570ade8d8f325de62faffected
  • ae0751ffc77e7f21629970fdab5528c573e637f8 to < e83eed1bea142c8fe852fd53156845b88252ecd8affected
  • ae0751ffc77e7f21629970fdab5528c573e637f8 to < 872f486259ae0bc6b73ca4735a15d013241f73e9affected

Linux Linux

Default version status: affected

  • 3.3affected
  • 0 to < 3.3unaffected
  • 6.6.160 to ≤ 6.6.*unaffected
  • 6.12.114 to ≤ 6.12.*unaffected
  • 6.18.57 to ≤ 6.18.*unaffected
  • 7.1.10 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References