---
id: CVE-2026-74754
title: |-
  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…
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…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ae0751ffc77e7f21629970fdab5528c573e637f8 <
    fdc93f4a801077efbf1b87570ade8d8f325de62f
  - >-
    Linux >= ae0751ffc77e7f21629970fdab5528c573e637f8 <
    e83eed1bea142c8fe852fd53156845b88252ecd8
  - >-
    Linux >= ae0751ffc77e7f21629970fdab5528c573e637f8 <
    872f486259ae0bc6b73ca4735a15d013241f73e9
  - Linux 3.3
published: '2026-08-26'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T11:17:49.823'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-74754'
references:
  - url: 'https://git.kernel.org/stable/c/872f486259ae0bc6b73ca4735a15d013241f73e9'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e83eed1bea142c8fe852fd53156845b88252ecd8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fdc93f4a801077efbf1b87570ade8d8f325de62f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00198
epssPercentile: 0.08859
ingestedAt: '2026-10-15T11:00:41.669Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
