CVE-2026-72409

Source
https://cve.org/CVERecord?id=CVE-2026-72409
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72409.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-72409
Downstream
Published
2026-08-15T05:56:32.152Z
Modified
2026-08-18T03:56:55.868319118Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
net: mvneta: re-enable percpu interrupt on resume
Details

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

net: mvneta: re-enable percpu interrupt on resume

On Marvell MPIC platforms (Armada 370/XP/38x), mvneta uses a percpu IRQ disable/enable scheme for NAPI: the ISR (mvnetapercpuisr) calls disablepercpuirq() to mask the MPIC per-CPU interrupt and schedules NAPI poll, which calls enablepercpuirq() on completion to unmask.

If suspend occurs while NAPI poll is pending (between disablepercpuirq in the ISR and enablepercpuirq in poll completion), the interrupt is never re-enabled:

  1. mvnetapercpuisr: disablepercpuirq() + napischedule() => MPIC masked, percpuenabled cpumask bit cleared
  2. NAPI poll does not complete before suspend proceeds (on PREEMPT_RT this is highly likely since softirqs run in ksoftirqd which gets frozen; on non-RT it can happen when softirq processing is deferred to ksoftirqd)
  3. mvnetastopdev => napi_disable(): cancels the pending poll without executing the completion path
  4. suspenddeviceirqs => IRQCHIPMASKONSUSPEND: masks MPIC (already masked, but records IRQSSUSPENDED)
  5. Resume: mpicresume checks irqpercpuisenabled() => false (bit was cleared in step 1) => skips unmask
  6. mvnetastartdev only restores device-level INTRNEWMASK, does not touch the MPIC per-CPU mask

Result: MPIC per-CPU interrupt stays masked permanently. The NIC generates interrupts (INTRNEWCAUSE != 0) but the CPU never receives them, causing complete loss of network connectivity.

Fix by calling oneachcpu(mvnetapercpuenable) in the resume path to unconditionally unmask the MPIC per-CPU interrupt regardless of pre-suspend state.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72409.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
12bb03b436dad56692e9a103ed26156156bef5d2
Fixed
bf88cd3b649bc3e638f1e8a77649581852747a68
Fixed
8c7a489aa71d2693752b2e794a68bf672d16c829
Fixed
82c13027ed283b856017adee970dbfdffce5c6b8
Fixed
be626ac1faadd49c2cead9f9cd06ba8752d81563
Fixed
1cc312dc8bc78fa24c80d5bc193dbf5b57a99cc6
Fixed
b84dd48f9da1eb132bdc06a944423cd5a1641ef1
Fixed
5bdb33ff6e58bdc43632e98b30723eb65352d671
Fixed
fd398d6480987e4c84fff0aaab6b9d6642a93343

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72409.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.4.0
Fixed
5.10.261
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.97
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.40
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72409.json"