CVE-2026-89845
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Avoid req_q_map double-read in qla2x00_error_entry()
qla2x00_error_entry() reads ha->req_q_map[que] twice: once for the NULL check and again when assigning it to req. The map slot is cleared by qla25xx_free_req_que() (ha->req_q_map[que_id] = NULL under mq_lock) during queue teardown, while the response-queue interrupt that drives qla2x00_error_entry() is still registered (the IRQ is released later in qla25xx_free_rsp_que()). If the slot is set to NULL between the two reads, req becomes NULL and is dereferenced.
Read the slot once into req and NULL-check the local before use. mq_lock is a mutex and cannot be taken from interrupt context, so the single read plus local check is the appropriate fix for the reported NULL dereference.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < c845f2597787ef70159a32566669e308b2807a56 | affected |
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < fe04b31e386aee4cc3a18f07462af146037dc389 | affected |
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 1b995cf4157465357d66ba096e7cdaafab9972e7 | affected |
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < d79376fbd2a076de82c1cd8aa0b600b300c75a44 | affected |
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 1c90b74e484ba48f31944fe04963d99e01ac3767 | affected |
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 5dd9bec8004ba93cee8b689bf54ce294f59e5e3c | affected |
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 35124cfa9898b2088ee72859e573e0876aff66fc | affected |
| Linux | Linux | a6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < deb8abde83a799d2501f3977f6d6051000253f5e | affected |
| Linux | Linux | 3.4 | affected |
| Linux | Linux | 0 < 3.4 | unaffected |
| Linux | Linux | 5.10.270 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.221 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.188 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.157 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.51 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.5 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/c845f2597787ef70159a32566669e308b2807a56
- https://git.kernel.org/stable/c/fe04b31e386aee4cc3a18f07462af146037dc389
- https://git.kernel.org/stable/c/1b995cf4157465357d66ba096e7cdaafab9972e7
- https://git.kernel.org/stable/c/d79376fbd2a076de82c1cd8aa0b600b300c75a44
- https://git.kernel.org/stable/c/1c90b74e484ba48f31944fe04963d99e01ac3767
- https://git.kernel.org/stable/c/5dd9bec8004ba93cee8b689bf54ce294f59e5e3c
- https://git.kernel.org/stable/c/35124cfa9898b2088ee72859e573e0876aff66fc
- https://git.kernel.org/stable/c/deb8abde83a799d2501f3977f6d6051000253f5e
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.