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

net: xilinx: axienet: Free outstanding DMA buffers on dmaengine stop

In the dmaengine path the driver pre-submits RX buffers and holds
in-flight TX buffers whose SKBs are DMA-mapped by the driver and freed
only in the completion callbacks. On ndo_stop() dmaengine_terminate_sync()
aborts these descriptors without running their callbacks, and the driver
then frees only the ring shells, leaking every SKB still owned by the
engine and its DMA mapping on each ifdown. With 128 RX buffers pre-posted
per channel, the mapping leak can eventually exhaust a limited IOMMU
aperture.

Clear the slot's skb in the TX and RX callbacks so a non-NULL skb marks a
slot that still owns a live, DMA-mapped buffer, and on stop unmap and free
every such buffer.

axienet_dma_rx_cb() runs from the DMA tasklet and re-arms the RX ring on
each completion, so it can race axienet_stop(): a completion may submit a
fresh buffer after dmaengine_terminate_sync() has returned, leaving the
channel armed with a buffer the teardown then frees while the engine may
still write into it (dma_release_channel() does not stop it either). Add a
lock that axienet_dma_rx_cb() holds across the @stopping check and the
resubmit, and axienet_stop() holds to set @stopping before terminating.
Once @stopping is set no callback can arm a new buffer, and any armed just
before is aborted by the terminate, so teardown only frees buffers the
engine no longer owns.
Published: 2026-10-23
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (kernel instability due to DMA buffer leakage)
Action: Patch
AI Analysis

Impact

In the Linux kernel Xilinx AXI Ethernet driver, the device pre-allocates receive buffers and keeps track of in‑flight transmit buffers whose socket buffers (SKBs) are DMA‑mapped. During the device shutdown sequence, the driver stops the DMA engine without following up on pending buffer completions, freeing only the ring descriptors and leaving the SKBs still lodged in the DMA engine. These unmapped buffers are then leaked, and the memory mapping associated with them is not released until the next interface teardown. With a sufficient number of pre‑posted receive buffers, the cumulative leakage can exhaust the limited IOMMU aperture, causing the kernel to become unstable or perform poorly due to resource starvation.

Affected Systems

All Linux systems that include the Xilinx AXI Ethernet (axienet) driver are affected. The CVE description does not specify a kernel version range, so any kernel lacking the patch that releases DMA buffers on interface stop is potentially vulnerable.

Risk and Exploitability

The CVSS score is 4.1, the EPSS score is < 1%, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that local kernel privileges are required to trigger a reset of the network interface—such as through an ifdown command. When the driver is stopped while buffers are still mapped, the kernel may consume all available IOMMU pages, resulting in buffer exhaustion and a possible denial‑of‑service.

Generated by OpenCVE AI on October 29, 2026 at 14:56 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release that contains the axienet DMA buffer cleanup fix.
  • Restore the Xilinx AXI Ethernet driver to the patched version supplied with the kernel update.
  • If a patch is not yet available, avoid bringing the interface down during active traffic; limit the number of pre‑posted RX buffers or temporarily disable DMA ring re‑arming until the driver patch is applied.
  • Monitor the IOMMU aperture usage on affected nodes and set limits to prevent exhaustion during development or testing.

Generated by OpenCVE AI on October 29, 2026 at 14:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 23 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Fri, 23 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399
CWE-401

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: xilinx: axienet: Free outstanding DMA buffers on dmaengine stop In the dmaengine path the driver pre-submits RX buffers and holds in-flight TX buffers whose SKBs are DMA-mapped by the driver and freed only in the completion callbacks. On ndo_stop() dmaengine_terminate_sync() aborts these descriptors without running their callbacks, and the driver then frees only the ring shells, leaking every SKB still owned by the engine and its DMA mapping on each ifdown. With 128 RX buffers pre-posted per channel, the mapping leak can eventually exhaust a limited IOMMU aperture. Clear the slot's skb in the TX and RX callbacks so a non-NULL skb marks a slot that still owns a live, DMA-mapped buffer, and on stop unmap and free every such buffer. axienet_dma_rx_cb() runs from the DMA tasklet and re-arms the RX ring on each completion, so it can race axienet_stop(): a completion may submit a fresh buffer after dmaengine_terminate_sync() has returned, leaving the channel armed with a buffer the teardown then frees while the engine may still write into it (dma_release_channel() does not stop it either). Add a lock that axienet_dma_rx_cb() holds across the @stopping check and the resubmit, and axienet_stop() holds to set @stopping before terminating. Once @stopping is set no callback can arm a new buffer, and any armed just before is aborted by the terminate, so teardown only frees buffers the engine no longer owns.
Title net: xilinx: axienet: Free outstanding DMA buffers on dmaengine stop
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:21:20.294Z

Reserved: 2026-09-25T10:25:14.386Z

Link: CVE-2026-99028

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:25.843

Modified: 2026-10-23T13:17:25.843

Link: CVE-2026-99028

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-23T00:00:00Z

Links: CVE-2026-99028 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T15:00:22Z

Weaknesses
  • CWE-399
  • CWE-401

    Missing Release of Memory after Effective Lifetime

  • CWE-772

    Missing Release of Resource after Effective Lifetime