---
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: medium
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
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-98386.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-98386'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2552186'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-98386'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98386'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-98386.mbox
  - url: 'https://git.kernel.org/stable/c/2df8c8630904794100189fa3d70598642e1877ce'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
ingestedAt: '2026-10-14T15:36:13.975Z'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 8ae6d9c7eb1004bc134813287010d57a863ba13b <
    53eb96c244d150dfb8cc4b5b0492ab53755f3701
  - >-
    Linux >= 8ae6d9c7eb1004bc134813287010d57a863ba13b <
    6ee6dfd922fafd508f6bde16de30dd2db796b7a7
  - >-
    Linux >= 8ae6d9c7eb1004bc134813287010d57a863ba13b <
    e41d28d9a242c4005b7d01a7ee7769405a6a2c2e
  - >-
    Linux >= 8ae6d9c7eb1004bc134813287010d57a863ba13b <
    626e44f3d8a924a97a3848a9fd45833947e081e9
  - Linux 3.10
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cvssSource: vendor
cwe:
  - CWE-474
epss: 0.00206
epssPercentile: 0.10469
---

## 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.

## Vendor advisories

- **Red Hat VEX** · Low · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, … · updated 2026-10-18 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-98386.json)
