CVEvulnerability
CVE-2026-89842
- Status
- Received
- Published
- 2026-09-16
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
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().
References
- https://git.kernel.org/stable/c/2935b730211c5c1433aa6101fa3b55df2b63869a git.kernel.org
- https://git.kernel.org/stable/c/7c1fc75dd3fb6b6414508fbdf7aeed0d757c9120 git.kernel.org
- https://git.kernel.org/stable/c/ac4b019ac07844d3f67ea5e48b1d982b2170d1a7 git.kernel.org
- https://git.kernel.org/stable/c/e9bfb56e2c1bda49d3c5442d824569d71eec07e2 git.kernel.org
- https://git.kernel.org/stable/c/f7e46ebffc5781aab3f1f5a5d4350addbb5833f4 git.kernel.org