In the Linux kernel, the following vulnerability has been resolved:
scsi: core: pair EH runtime PM get and put
shost->ehnoresume is currently consulted twice in one error handling iteration: once before scsiautopmgethost() and once again before scsiautopmput_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 ufshcdsetdevpwrmode() shost->ehnoresume = 1 ufshcdexecutestartstop <-- trigger EH ... shost->eh_noresume = 0
EH path scsierrorhandler() if (!shost->ehnoresume) scsiautopmgethost() <-- skipped ... if (!shost->ehnoresume) scsiautopmputhost() <-- 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 ehnoresume a regular bool so it can be accessed with READONCE() and WRITE_ONCE(). Snapshot it once per EH iteration and use that snapshot for both runtime PM get and put decisions.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74754.json"
}