CVE-2026-93830

CVE-2026-93830

High · published September 24, 2026

CVSS v3.1
7.5
EPSS
0%
Percentile
41.2
In the wild
Unconfirmed
What it is

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

net: stmmac: xgmac2: disable RBUE in default RX interrupt mask

Enabling the RX Buffer Unavailable (RBUE) interrupt is counterproductive

and can trigger a MAC interrupt storm under heavy RX pressure. When the

DMA runs out of RX descriptors it fires RBUE continuously until software

refills the ring.

However, RBUE is redundant: the normal RX completion interrupt (RIE)

already triggers NAPI, which processes completed descriptors and refills

the ring, causing the DMA to resume. The RBUE handler itself only sets

handle_rx - the same outcome as RIE.

On Agilex5 under heavy RX pressure, the MAC interrupt (which includes

RBUE) was observed firing 1,821,811,555 times against only 2,618,627

actual RX completions - a ~695x ratio - confirming the severity of the

storm.

RBUE does not provide OOM recovery. If page_pool is exhausted,

stmmac_rx_refill() cannot advance the DMA tail pointer, the DMA stays

suspended, and RBUE fires again on the next NAPI completion - a storm

with no forward progress. This patch trades that storm for a clean

stall with the same RX outcome. Proper OOM recovery is a pre-existing

gap outside the scope of this fix.

Note: as a consequence of disabling RBUE, the rx_buf_unav_irq ethtool

counter will always read 0 on XGMAC2 devices. This behaviour is already

inconsistent across DWMAC core versions.

Remove RBUE from XGMAC_DMA_INT_DEFAULT_EN and XGMAC_DMA_INT_DEFAULT_RX

to prevent the interrupt storm while keeping normal RX handling intact.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00490 · 41.2th percentile
Published
2026-09-24T21:17Z
References (7)
EPSS history
Timeline
  • 26 SEP 03:27Z
    EPSS moved — → 0%
    epss
  • 24 SEP 16:03Z
    net: stmmac: xgmac2: disable RBUE in default RX interrupt mask
    cvelistv5