All vulnerabilities
CVE-2026-98386

Linux: scsi: qla2xxx: Use memset_io() to clear QLAFX00 request ring slot

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.21%Chance of exploitation activity in the next 30 days, higher than 10% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in2df8c8630904794100189fa3d70598642e1877ceAlso 53eb96c244d150dfb8cc4b5b0492ab53755f3701, 6ee6dfd922fafd508f6bde16de30dd2db796b7a7 and 1 moreCVE List
Published14 Oct 2026Updated 21 Oct 2026CVE List

What fixes it

  • 2df8c8630904794100189fa3d70598642e1877ceLinuxCVE List
  • 53eb96c244d150dfb8cc4b5b0492ab53755f3701LinuxCVE List
  • 6ee6dfd922fafd508f6bde16de30dd2db796b7a7LinuxCVE List
  • 626e44f3d8a924a97a3848a9fd45833947e081e9LinuxCVE 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: Use memset_io() to clear QLAFX00 request ring slot

For QLAFX00 the request ring is ioremapped device I/O memory (ha->iobase + req_que_off), not DMA-coherent RAM, which is why the rest of the FX00 path accesses it through memcpy_toio() and the wrt_reg_* helpers. __qla2x00_alloc_iocbs() however zeroed the producer slot with a plain memset(). On architectures such as ARM64 a regular memset() may emit unaligned or block-zeroing instructions (e.g. DC ZVA) that are invalid on Device memory, leading to a synchronous external abort.

Use memset_io() to clear the slot for QLAFX00, matching the I/O accessors used elsewhere on this ring. Other adapters keep the plain memset() on their DMA-coherent rings. The zero-fill is retained for FX00 because its IOCB builders (e.g. qlafx00_fxdisc_iocb()) copy only part of the entry and rely on the unused tail being pre-zeroed.

Text from CVE List

Affected versions 12

  • Linuxaffected: 8ae6d9c7eb1004bc134813287010d57a863ba13b before 2df8c8630904794100189fa3d70598642e1877ceCVE List
  • Linuxaffected: 8ae6d9c7eb1004bc134813287010d57a863ba13b before 53eb96c244d150dfb8cc4b5b0492ab53755f3701CVE List
  • Linuxaffected: 8ae6d9c7eb1004bc134813287010d57a863ba13b before 6ee6dfd922fafd508f6bde16de30dd2db796b7a7CVE List
  • Linuxaffected: 8ae6d9c7eb1004bc134813287010d57a863ba13b before e41d28d9a242c4005b7d01a7ee7769405a6a2c2eCVE List
  • Linuxaffected: 8ae6d9c7eb1004bc134813287010d57a863ba13b before 626e44f3d8a924a97a3848a9fd45833947e081e9CVE List
  • Linuxaffected: 3.10CVE List
  • Linuxunaffected: all versions before 3.10CVE List
  • Linuxunaffected: 6.6.160 through 6.6.*CVE List
  • Linuxunaffected: 6.12.112 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 5