Skip to main content
← All vulnerabilities
CVE-2026-89850

scsi: qla2xxx: Don't query firmware state while chip is down

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Don't query firmware state while chip is down qla2x00_fw_state_show() initializes rval to QLA_FUNCTION_FAILED and jumps to the out: label when the chip is down or EEH is busy. The out: block then re-issued qla2x00_get_firmware_state() because rval != QLA_SUCCESS, defeating the chip-down/EEH-busy guards and issuing a mailbox command (outside optrom_mutex) during ISP reset or PCI error recovery, which can hang the adapter. It also turned a normal in-lock mailbox failure into a second unsynchronized mailbox attempt. Make the out: fallback only mark the firmware state as unknown. The mailbox is now issued at most once, inside optrom_mutex, and only when the chip is up and not EEH-busy.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in 178d984e8875292582e4295cf559b2b11d3c9325; From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in cba780c01f72f8585ca81ad7304097f8b12ef339; From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in 22f44f77da496bc355479c08a0a9dbc9ad42ba42; From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in b6a30baa29695fa0eaba4a3a04435a3c1a5cb63d; From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in 7bc2baed8a3d6a1e2a3f6b78d245f25d1e18a749; From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in a194684853dceaa1d6b7a9a02bc12f479232ad9b; From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in a6374b508893de15fee78583a95f5099d7812e85; From b6faaaf796d7bfb00e32ca5c905d55cc43e89448 · fixed in e0cebe20dcffbed9c078fe30e2d18cd5046d9eff

  • Linux Linux

    4.20

  • KernelLinux

    From 4.20.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5

References 8

git.kernel.org