unknown

CVE-2026-99188

A vulnerability in the Linux kernel's stmmac network driver causes an interrupt storm during system resume from sleep states. This occurs be

Overview

A vulnerability in the Linux kernel's stmmac network driver causes an interrupt storm during system resume from sleep states. This occurs because the RGMII status interrupt is not cleared, leading to CPU starvation and potential system hangs or watchdog resets on affected hardware.

Description

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: dwmac1000: clear the RGMII status interrupt Since commit 2e2c878a3141 ("net: stmmac: remove SGMII/RGMII/SMII interrupt handling") nothing on the RGMII path reads GMAC_RGSMIIIS, so RGSMIIIS stays pending behind GMAC_INT_MASK from the first link change on. stmmac_resume() resets the MAC in stmmac_hw_setup(); the reset sets GMAC_INT_MASK to 0 until dwmac1000_core_init() writes the mask again, and the pending status storms the line: dwmac_dma_interrupt: unexpected status 04000000 A register dump at the first message on ODROID-HC4 showed it: core int_status 00000001 int_mask 00000000 pmt 00000000 rgsmiiis 0000000d When the resume thread runs on the CPU that takes the MAC interrupt, the storm starves it: a soft lockup, then a watchdog reset or a hang. Read GMAC_RGSMIIIS in dwmac1000_irq_status() when the status is not masked, as the driver did before 2e2c878a3141; the read clears it. Wake-on-LAN resume from s2idle with the resume thread and the MAC interrupt on one CPU: Helios64 (dwmac-rk), 7.3-rc6, soft-locked in 3 of 3 resumes without a fix and in 0 of 10 with this patch; it ran with an out-of-tree dwmac-rk change that keeps the GMAC powered across suspend. ODROID-HC4 (dwmac-meson8b): 0 of 10 with this patch, 2 of 2 without a fix on a 7.3-rc5 build. irq_rgmii_n went up by one per resume.

Impact

The primary impact is availability, as the interrupt storm can starve the CPU handling the MAC interrupt, resulting in soft lockups, watchdog resets, or complete system hangs. This affects systems using the stmmac driver with RGMII interfaces, particularly during Wake-on-LAN resume from s2idle states. Confidentiality and integrity are not directly compromised, but system instability may lead to data loss if the system crashes unexpectedly.

Remediation

Apply the kernel patch that reads GMAC_RGSMIIIS in dwmac1000_irq_status() to clear the pending interrupt. Update the Linux kernel to a version containing this fix. For systems that cannot be immediately patched, consider disabling Wake-on-LAN or adjusting power management settings to avoid the specific resume scenario that triggers the bug.

Risk context

The severity is currently unknown, but the issue causes system instability and potential downtime on affected hardware. Urgency is moderate to high for systems relying on Wake-on-LAN or frequent sleep/resume cycles with stmmac-based network interfaces. No EPSS score is available, but the deterministic nature of the bug on specific hardware makes it a significant operational risk.

Affected products

  • Linux Kernel
  • stmmac driver
  • dwmac1000
  • ODROID-HC4
  • Helios64

Scores

Severity
unknown
CVSS v2
—
CVSS v3
—
CVSS v4
—
EPSS
—

linux-kernel stmmac interrupt-storm availability wake-on-lan driver-bug

← All CVEs