{"id":"CVE-2026-72409","revision":"16cc94f2bc5a4b4b8c743cd52a56508e","records":[{"revision":"16cc94f2bc5a4b4b8c743cd52a56508e","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-72409","aliases":[],"title":"net: mvneta: re-enable percpu interrupt on resume","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mvneta: re-enable percpu interrupt on resume\n\nOn Marvell MPIC platforms (Armada 370/XP/38x), mvneta uses a percpu\nIRQ disable/enable scheme for NAPI: the ISR (mvneta_percpu_isr) calls\ndisable_percpu_irq() to mask the MPIC per-CPU interrupt and schedules\nNAPI poll, which calls enable_percpu_irq() on completion to unmask.\n\nIf suspend occurs while NAPI poll is pending (between\ndisable_percpu_irq in the ISR and enable_percpu_irq in poll\ncompletion), the interrupt is never re-enabled:\n\n  1. mvneta_percpu_isr: disable_percpu_irq() + napi_schedule()\n     => MPIC masked, percpu_enabled cpumask bit cleared\n  2. NAPI poll does not complete before suspend proceeds\n     (on PREEMPT_RT this is highly likely since softirqs run in\n     ksoftirqd which gets frozen; on non-RT it can happen when\n     softirq processing is deferred to ksoftirqd)\n  3. mvneta_stop_dev => napi_disable(): cancels the pending poll\n     without executing the completion path\n  4. suspend_device_irqs => IRQCHIP_MASK_ON_SUSPEND: masks MPIC\n     (already masked, but records IRQS_SUSPENDED)\n  5. Resume: mpic_resume checks irq_percpu_is_enabled() => false\n     (bit was cleared in step 1) => skips unmask\n  6. mvneta_start_dev only restores device-level INTR_NEW_MASK,\n     does not touch the MPIC per-CPU mask\n\nResult: MPIC per-CPU interrupt stays masked permanently. The NIC\ngenerates interrupts (INTR_NEW_CAUSE != 0) but the CPU never\nreceives them, causing complete loss of network connectivity.\n\nFix by calling on_each_cpu(mvneta_percpu_enable) in the resume path\nto unconditionally unmask the MPIC per-CPU interrupt regardless of\npre-suspend state.","state":0,"publishedAt":"2026-08-15T05:56:32.152+00:00","modifiedAt":"2026-10-16T18:55:22.213+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/net/ethernet/marvell/mvneta.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"bf88cd3b649bc3e638f1e8a77649581852747a68\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"8c7a489aa71d2693752b2e794a68bf672d16c829\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"82c13027ed283b856017adee970dbfdffce5c6b8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"be626ac1faadd49c2cead9f9cd06ba8752d81563\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"1cc312dc8bc78fa24c80d5bc193dbf5b57a99cc6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"b84dd48f9da1eb132bdc06a944423cd5a1641ef1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"5bdb33ff6e58bdc43632e98b30723eb65352d671\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"12bb03b436dad56692e9a103ed26156156bef5d2\",\n                            \"lessThan\": \"fd398d6480987e4c84fff0aaab6b9d6642a93343\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/net/ethernet/marvell/mvneta.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.4\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.4\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.261\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.212\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.178\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.145\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.97\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.40\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.5\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/bf88cd3b649bc3e638f1e8a77649581852747a68","https://git.kernel.org/stable/c/8c7a489aa71d2693752b2e794a68bf672d16c829","https://git.kernel.org/stable/c/82c13027ed283b856017adee970dbfdffce5c6b8","https://git.kernel.org/stable/c/be626ac1faadd49c2cead9f9cd06ba8752d81563","https://git.kernel.org/stable/c/1cc312dc8bc78fa24c80d5bc193dbf5b57a99cc6","https://git.kernel.org/stable/c/b84dd48f9da1eb132bdc06a944423cd5a1641ef1","https://git.kernel.org/stable/c/5bdb33ff6e58bdc43632e98b30723eb65352d671","https://git.kernel.org/stable/c/fd398d6480987e4c84fff0aaab6b9d6642a93343"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-72409","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-72409","identifiers":["CVE-2026-72409"]},"retained":false,"historicalAffected":[]}],"coverage":[]}