CVE-2026-89845

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

VendorProductVersion RangeStatus
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < c845f2597787ef70159a32566669e308b2807a56affected
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < fe04b31e386aee4cc3a18f07462af146037dc389affected
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 1b995cf4157465357d66ba096e7cdaafab9972e7affected
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < d79376fbd2a076de82c1cd8aa0b600b300c75a44affected
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 1c90b74e484ba48f31944fe04963d99e01ac3767affected
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 5dd9bec8004ba93cee8b689bf54ce294f59e5e3caffected
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < 35124cfa9898b2088ee72859e573e0876aff66fcaffected
LinuxLinuxa6fe35c052c4fdd1e8e21251f14eea0bd4bbd25b < deb8abde83a799d2501f3977f6d6051000253f5eaffected
LinuxLinux3.4affected
LinuxLinux0 < 3.4unaffected
LinuxLinux5.10.270 <= 5.10.*unaffected
LinuxLinux5.15.221 <= 5.15.*unaffected
LinuxLinux6.1.188 <= 6.1.*unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.51 <= 6.18.*unaffected
LinuxLinux7.2.5 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References