CVE-2026-74555: scsi: libsas: Fix HA resume deadlock and hisi_sas disk-wake race

Published Aug 15, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

scsi: libsas: Fix HA resume deadlock and hisisas disk-wake race

Commit fbefe22811c3 ("scsi: libsas: Don't always drain event workqueue for HA resume") introduced sasresumehanosync() to avoid a deadlock: the PHYERESUMETIMEOUT handler, running on the HA event workqueue, calls sasdeformport() -> sasdestructdevices(), which removes SCSI devices and waits for the host to become runtime-active. But the host cannot resume until sasresumeha() -> sasdrainwork() returns, and the drain is blocked on that very handler.

However skipping the drain reintroduces a race: hisisas returns from resume before all PHY UP work and libsas discovery work finish. The controller may then autosuspend while disks are still waking up. The disks issue IO to a suspended controller, the IO fails, and the disks get disabled.

Fix the deadlock at its source by moving the PHYERESUMETIMEOUT notification to after sasdrainwork(). By then the host resume is about to complete, so device removal through devicelink no longer blocks on the resume and the cycle is broken.

With the deadlock gone, restore sasresumeha() (the draining variant) in hisisas and remove sasresumehanosync().

The reorder is safe for the other libsas consumers (isci, pm8001, aic94xx, mvsas). During suspend, sassuspenddevices() calls sasnotifylldddevgone() for each device, which sets dev->lldddev to NULL. When scsiunblockrequests re-enables I/O in resume, any I/O to a timed-out phy's disk is immediately rejected by the LLDD before reaching hardware: isci returns SASDEVICEUNKNOWN (mapped to DIDBADTARGET), and pm8001 returns SASPHYDOWN (mapped to DIDNOCONNECT). Both complete directly via scsidone() without entering SCSI EH. This is identical in both the old and new ordering since lldddevgone runs during suspend, before resume. The reorder only affects when the PHYERESUMETIMEOUT handler runs (synchronized by sasdrainwork() vs. asynchronous after resume returns), not whether I/O can reach the device. aic94xx and mvsas do not register any PM ops and never reach this code path.

Affected Software

1 affected component
Linux Kernel

Event History

Aug 15, 2026
CVE Published
via MITRE·12:28 PM
Data Sourced
via MITRE·12:28 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-74555?

CVE-2026-74555 has a severity rating of 12, indicating a critical risk level.

2

What does CVE-2026-74555 address?

CVE-2026-74555 addresses a deadlock issue during hardware adapter resume in the Linux kernel's SCSI libsas implementation.

3

How do I fix CVE-2026-74555?

To fix CVE-2026-74555, update to the latest version of the Linux kernel that includes the patch for this vulnerability.

4

What systems are affected by CVE-2026-74555?

CVE-2026-74555 affects systems running the vulnerable versions of the Linux kernel that utilize the SCSI libsas library.

5

Is CVE-2026-74555 exploitable?

Yes, CVE-2026-74555 is potentially exploitable and can lead to denial of service if not addressed.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203