CVE-2024-42126

powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.

Published Jul 30, 2024 CVSS 3.1 · 5.5 Medium EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4008-1 linux-6.1 security update
Ubuntu USN Ubuntu USN USN-7089-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7089-2 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7089-3 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7089-4 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7089-5 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7089-6 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7089-7 Linux kernel (Low Latency) vulnerabilities
Ubuntu USN Ubuntu USN USN-7090-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7095-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7100-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7100-2 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7123-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-7144-1 Linux kernel (Intel IoTG) vulnerabilities
Ubuntu USN Ubuntu USN USN-7156-1 Linux kernel (GKE) vulnerabilities
Ubuntu USN Ubuntu USN USN-7194-1 Linux kernel (Azure) vulnerabilities
History
Type Values Removed Values Added
Weaknesses NVD-CWE-noinfo
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Weaknesses CWE-827
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
May 11, 2026, 8:27 PM
Reserved
Jul 29, 2024, 3:50 PM
Status
Modified
Published
Jul 30, 2024, 8:15 AM
Modified
Jun 17, 2026, 7:48 AM
Severity
Low
Public date
Jul 30, 2024, 12:00 AM