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.
Published: 2026-08-26
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A race condition arises when the power management path sets shost->eh_noresume while a SCSI error handler iterates, causing the handler to skip a runtime PM get and later release a runtime PM reference. This leaves an unmatched put, resulting in an underflow of the runtime PM usage count. If the underflow propagates to the kernel’s reference counter, it could trigger a kernel panic or other instability, effectively denying service or enabling further exploitation.

Affected Systems

The flaw exists in the Linux kernel’s SCSI core modules across all supported versions that contain the correlated code path. No specific kernel releases are listed, so any running kernel that includes the aforementioned logic is potentially impacted.

Risk and Exploitability

The EPSS score is not available and the vulnerability is not listed in CISA’s KEV catalog, indicating no known exploitation yet. No CVSS score is provided, so the intrinsic severity cannot be quantified from the data alone. The risk remains that a malicious actor who can manipulate SCSI error conditions or power state changes may trigger the race, leading to kernel instability.

Generated by OpenCVE AI on August 26, 2026 at 15:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version that applies the fixed logic and uses READ_ONCE()/WRITE_ONCE() for shost->eh_noresume.
  • If an updated kernel is unavailable, apply the upstream patch that changes shost->eh_noresume to a regular boolean and snapshots it per EH iteration before the get and put checks.
  • After updating or patching, monitor system logs for any Unreliable runtime PM usage count warnings or unexpected kernel panics to verify the fix.

Generated by OpenCVE AI on August 26, 2026 at 15:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 26 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
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.
Title scsi: core: pair EH runtime PM get and put
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-26T14:37:00.766Z

Reserved: 2026-08-15T05:44:03.931Z

Link: CVE-2026-74754

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:16:54.500

Modified: 2026-08-26T15:16:54.500

Link: CVE-2026-74754

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T16:15:07Z

Weaknesses