CVE-2026-97527

scsi: qla2xxx: Serialize NVMe unsol ctx list with a per-fcport lock

State
Published
Severity
8.8 High
Published
Sep 25, 2026
Updated
Oct 21, 2026
Reserved
Sep 24, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

scsi: qla2xxx: Serialize NVMe unsol ctx list with a per-fcport lock

The fcport->unsol_ctx_head list is modified from several contexts without a common lock. Entries are added in qla2xxx_process_purls_iocb() from the response queue ISR (under the qpair qp_lock), while they are removed from qla2xxx_process_purls_pkt() (DPC/purex worker), qla_nvme_xmt_ls_rsp() (NVMe-FC transport callback) and qla_nvme_release_lsrsp_cmd_kref() (SRB completion). The qpair qp_lock cannot serialize this per-fcport list since multiqueue adapters add entries through different qpairs, so a concurrent add and delete (or two concurrent deletes) can corrupt the list pointers.

Introduce a dedicated per-fcport spinlock, unsol_ctx_lock, initialized in qla2x00_alloc_fcport(), and take it around every list_add_tail()/list_del() on unsol_ctx_head. The add nests under the existing qp_lock; no delete path takes qp_lock, so the lock order is consistent and deadlock free.

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 875386b98857822b77ac7f95bdf367b70af5b78c to before 6c71726cdfda93ae169a75c7b1697eb870303125Affected
  • 875386b98857822b77ac7f95bdf367b70af5b78c to before c1ee12eecbab9674fb73c9e00a93fac655d5a5dcAffected
  • 875386b98857822b77ac7f95bdf367b70af5b78c to before b211d138cad86f749826d6132db6388eded992d8Affected
  • 875386b98857822b77ac7f95bdf367b70af5b78c to before 4d8ad6bc8cc5eff1870cef00a0d611f38f8b6bd0Affected
  • 875386b98857822b77ac7f95bdf367b70af5b78c to before 76da0c43c63eb0496649e372ac64466364d0fe7dAffected
LinuxLinux
  • 6.6Affected
  • before 6.6Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.53 through 6.18.*Not affected
  • 7.2.7 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.