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().
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
875386b98857822b77ac7f95bdf367b70af5b78c to < 2935b730211c5c1433aa6101fa3b55df2b63869aaffected875386b98857822b77ac7f95bdf367b70af5b78c to < 7c1fc75dd3fb6b6414508fbdf7aeed0d757c9120affected875386b98857822b77ac7f95bdf367b70af5b78c to < ac4b019ac07844d3f67ea5e48b1d982b2170d1a7affected875386b98857822b77ac7f95bdf367b70af5b78c to < e9bfb56e2c1bda49d3c5442d824569d71eec07e2affected875386b98857822b77ac7f95bdf367b70af5b78c to < f7e46ebffc5781aab3f1f5a5d4350addbb5833f4affected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.51 to ≤ 6.18.*unaffected7.2.5 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
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 ↗