Bug 2535207 (CVE-2026-89845) - CVE-2026-89845 kernel: scsi: qla2xxx: Avoid req_q_map double-read in qla2x00_error_entry()
Summary: CVE-2026-89845 kernel: scsi: qla2xxx: Avoid req_q_map double-read in qla2x00_...
Keywords:
Status: NEW
Alias: CVE-2026-89845
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-16 11:27 UTC by OSIDB Bzimport
Modified: 2026-11-01 04:25 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-16 11:27:35 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.