CVE-2026-98386: Linux kernel · scsi: qla2xxx: Use memset_io() to clear QLAFX00 request ring slot
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in e41d28d9a242c4005b7d01a7ee7769405a6a2c2e : update Linux kernel when convenient.
Data as of 26 Oct 2026, 17:16 UTC
Rated by Threat Radar · CVSS not yet scored by NVD
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 10% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in e41d28d9a242c4005b7d01a7ee7769405a6a2c2e, 626e44f3d8a924a97a3848a9fd45833947e081e9, 53eb96c244d150dfb8cc4b5b0492ab53755f3701 +2
Exploitation evidence
Disclosed: evidence found.
CVE published 14 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
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.
References
- git.kernel.org/stable/c/2df8c8630904794100189fa3d70598642e1877ce (opens in a new tab)
- git.kernel.org/stable/c/53eb96c244d150dfb8cc4b5b0492ab53755f3701 (opens in a new tab)
- git.kernel.org/stable/c/6ee6dfd922fafd508f6bde16de30dd2db796b7a7 (opens in a new tab)
- git.kernel.org/stable/c/e41d28d9a242c4005b7d01a7ee7769405a6a2c2e (opens in a new tab)
- git.kernel.org/stable/c/626e44f3d8a924a97a3848a9fd45833947e081e9 (opens in a new tab)