---
id: CVE-2026-98386
title: |-
  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-cohe…
summary: |-
  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-cohe…
severity: none
published: '2026-10-14'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T14:17:49.400'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98386'
references:
  - url: 'https://git.kernel.org/stable/c/53eb96c244d150dfb8cc4b5b0492ab53755f3701'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/626e44f3d8a924a97a3848a9fd45833947e081e9'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6ee6dfd922fafd508f6bde16de30dd2db796b7a7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e41d28d9a242c4005b7d01a7ee7769405a6a2c2e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
ingestedAt: '2026-10-14T15:36:13.975Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
