Linux: scsi: qla2xxx: Fix response queue over-consumption in __qla_consume_iocb()
What fixes it
- 6e3f129538c32d0019437197735912308c161843LinuxCVE List
- 31715d1e1cbf3a37ce3452635c5602f73fd7abd4LinuxCVE List
- 3ba019bdd89d931499d9476456b5d9c7ab7fa753LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Fix response queue over-consumption in __qla_consume_iocb()
qla24xx_process_response_queue() advances ring_ptr past the head IOCB before dispatching, so by the time __qla_consume_iocb() runs, ring_ptr already points at the first continuation IOCB. The function however looped purex->entry_count times starting at ring_ptr. As entry_count includes the head, this consumed one entry too many: it stamped RESPONSE_PROCESSED on the next, unrelated IOCB and advanced the ring past it, silently dropping a legitimate firmware response. The head IOCB's signature was also never marked.
Mark the head processed and account for it, then consume only the entry_count - 1 continuation IOCBs, matching __qla_copy_purex_to_buffer().
Text from CVE List
Affected versions 16
- Linuxaffected: fac2807946c10b9a509b9c348afd442fa823c5f7 before a136c311676fd1010b1bde3bcfd410caa2fa040fCVE List
- Linuxaffected: fac2807946c10b9a509b9c348afd442fa823c5f7 before d841707fafba5f80341b82e8c3a4c24fc5aa5132CVE List
- Linuxaffected: fac2807946c10b9a509b9c348afd442fa823c5f7 before 6e3f129538c32d0019437197735912308c161843CVE List
- Linuxaffected: fac2807946c10b9a509b9c348afd442fa823c5f7 before bd1534d4afab47f13dfc27fff6f59dd859a0ac3aCVE List
- Linuxaffected: fac2807946c10b9a509b9c348afd442fa823c5f7 before 31715d1e1cbf3a37ce3452635c5602f73fd7abd4CVE List
- Linuxaffected: fac2807946c10b9a509b9c348afd442fa823c5f7 before df86c27cf1ba9d66f737a1fa56479c6e7efafe4eCVE List
- Linuxaffected: fac2807946c10b9a509b9c348afd442fa823c5f7 before 3ba019bdd89d931499d9476456b5d9c7ab7fa753CVE List
- Linuxaffected: 5.15CVE List
- Linuxunaffected: all versions before 5.15CVE List
- Linuxunaffected: 5.15.221 through 5.15.*CVE List
- Linuxunaffected: 6.1.188 through 6.1.*CVE List
- Linuxunaffected: 6.6.157 through 6.6.*CVE List
- Linuxunaffected: 6.12.110 through 6.12.*CVE List
- Linuxunaffected: 6.18.51 through 6.18.*CVE List
- Linuxunaffected: 7.2.5 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 7
- git.kernel.org/stable/c/a136c311676fd1010b1bde3bcfd410caa2fa040fReferencevia CVE List
- git.kernel.org/stable/c/d841707fafba5f80341b82e8c3a4c24fc5aa5132Referencevia CVE List
- git.kernel.org/stable/c/6e3f129538c32d0019437197735912308c161843Referencevia CVE List
- git.kernel.org/stable/c/bd1534d4afab47f13dfc27fff6f59dd859a0ac3aReferencevia CVE List
- git.kernel.org/stable/c/31715d1e1cbf3a37ce3452635c5602f73fd7abd4Referencevia CVE List
- git.kernel.org/stable/c/df86c27cf1ba9d66f737a1fa56479c6e7efafe4eReferencevia CVE List
- git.kernel.org/stable/c/3ba019bdd89d931499d9476456b5d9c7ab7fa753Referencevia CVE List