CVE-2024-42126

powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.

MEDIUM
5.5
CVSS Score
Published: July 30, 2024 at 07:46 AM UTC
Updated: June 17, 2026 at 07:48 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt. nmi_enter()/nmi_exit() touches per cpu variables which can lead to kernel crash when invoked during real mode interrupt handling (e.g. early HMI/MCE interrupt handler) if percpu allocation comes from vmalloc area. Early HMI/MCE handlers are called through DEFINE_INTERRUPT_HANDLER_NMI() wrapper which invokes nmi_enter/nmi_exit calls. We don't see any issue when percpu allocation is from the embedded first chunk. However with CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK enabled there are chances where percpu allocation can come from the vmalloc area. With kernel command line "percpu_alloc=page" we can force percpu allocation to come from vmalloc area and can see kernel crash in machine_check_early: [ 1.215714] NIP [c000000000e49eb4] rcu_nmi_enter+0x24/0x110 [ 1.215717] LR [c0000000000461a0] machine_check_early+0xf0/0x2c0 [ 1.215719] --- interrupt: 200 [ 1.215720] [c000000fffd73180] [0000000000000000] 0x0 (unreliable) [ 1.215722] [c000000fffd731b0] [0000000000000000] 0x0 [ 1.215724] [c000000fffd73210] [c000000000008364] machine_check_early_common+0x134/0x1f8 Fix this by avoiding use of nmi_enter()/nmi_exit() in real mode if percpu first chunk is not embedded.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.10 ≤ v < 5.10.2245.10 ≤ v < 5.15.1655.10 ≤ v < 6.1.985.10 ≤ v < 6.105.10 ≤ v < 6.6.395.10 ≤ v < 6.9.95.11 ≤ v < 5.15.1655.16 ≤ v < 6.1.986.2 ≤ v < 6.6.396.7 ≤ v < 6.9.95.10eb553f16973ade990d05946af9ae191394712c8a
Vendor states this is fixed in 0db880fc865ffb522141ced4bfa66c12ab1fbb70 (fixed)
Vendor states this is fixed in 0f37946c62c48a907625348cbc720a7a0c547d1e (fixed)
Vendor states this is fixed in 2c78c9411e685dbc9eac8c2845111b03501975b8 (fixed)
Vendor states this is fixed in 8d3f83dfb23674540c827a8d65fba20aa300b252 (fixed)
Vendor states this is fixed in e2afb26615adf6c3ceaaa7732aa839bcd587a057 (fixed)
Vendor states this is fixed in fb6675db04c4b79883373edc578d5df7bbc84848 (fixed)
Vendor states this is fixed in 5.10 (unaffected)
Vendor states this is fixed in 5.10.224 (unaffected)
Vendor states this is fixed in 5.15.165 (unaffected)
Vendor states this is fixed in 6.1.98 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.39 (unaffected)
Vendor states this is fixed in 6.9.9 (unaffected)

References (7)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0db880fc865ffb522141ced4bfa66c12ab1fbb70
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0f37946c62c48a907625348cbc720a7a0c547d1e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2c78c9411e685dbc9eac8c2845111b03501975b8
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8d3f83dfb23674540c827a8d65fba20aa300b252
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e2afb26615adf6c3ceaaa7732aa839bcd587a057
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/fb6675db04c4b79883373edc578d5df7bbc84848
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card