CVE-2026-64214 json
powerpc/time: Remove redundant preempt_disable|enable() calls from arch_irq_work_raise()
published 2026-07-24 3 mo ago modified 2026-08-11 2 mo ago also EUVD-2026-48622
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
powerpc/time: Remove redundant preempt_disable|enable() calls from arch_irq_work_raise()
A kernel panic is observed when handling machine check exceptions from real mode.
BUG: Unable to handle kernel data access on read at 0xc00000006be21300 Oops: Kernel access of bad area, sig: 11 [#1] MSR: 8000000000001003 <SF,ME,RI,LE> CR: 88222248 XER: 00000005 CFAR: c00000000003ffc4 DAR: c00000006be21300 DSISR: 40000000 IRQMASK: 0 NIP [c000000000029e40] arch_irq_work_raise+0x10/0x70 LR [c00000000003ffc8] machine_check_queue_event+0xa8/0x150 Call Trace: [c0000000179d3c70] [c00000000003ff64] machine_check_queue_event+0x44/0x150 [c0000000179d3d30] [c0000000000084e0] machine_check_early_common+0x1f0/0x2c0
The crash occurs because arch_irq_work_raise() calls preempt_disable() from machine check exception (MCE) handlers running in real mode. In this context, accessing the preempt_count can fault, leading to the panic.
The preempt_disable()/preempt_enable() pair in arch_irq_work_raise() was originally added by commit 0fe1ac48bef0 ("powerpc/perf_event: Fix oops due to perf_event_do_pending call") to avoid races while raising irq work from exception context.
Later, commit 471ba0e686cb ("irq_work: Do not raise an IPI when queueing work on the local CPU") added preemption protection in irq_work_queue() path, while commit 20b876918c06 ("irq_work: Use per cpu atomics instead of regular atomics") added equivalent protection in irq_work_queue_on() before reaching arch_irq_work_raise():
irq_work_queue() / irq_work_queue_on() -> preempt_disable() -> __irq_work_queue_local() -> irq_work_raise() -> arch_irq_work_raise()
As a result, callers other than mce_irq_work_raise() already execute with preemption disabled, making the additional preempt_disable()/preempt_enable() pair in arch_irq_work_raise() redundant.
The arch_irq_work_raise() function executes in NMI context when called from MCE handler. Hence we will not be preempted or scheduled out since we are in NMI context with MSR[EE]=0. Therefore, it is safe to remove the preempt_disable()/preempt_enable() calls from here.
Remove it to avoid accessing preempt_count from real mode context.
[Maddy: Fixed the commit title]
Patch / fix
- Linux Linux 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11, 7.1
- linux Debian 12 6.1.176-1
- linux Debian 13 6.12.94-1
- linux Debian 14 7.0.12-1
debian advisories DEBIAN-CVE-2026-64214
- linux Ubuntu 24.04 LTS 6.8.0-139.139
- linux Ubuntu 26.04 LTS 7.0.0-28.28
- linux-aws Ubuntu 24.04 LTS 6.8.0-1064.67
- linux-aws Ubuntu 26.04 LTS 7.0.0-1009.9
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1067.75
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1008.8
- linux-gke Ubuntu 24.04 LTS 6.8.0-1062.70
- linux-gke Ubuntu 26.04 LTS 7.0.0-1003.4
ubuntu advisories UBUNTU-CVE-2026-64214
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.81.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.81.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.81.1
- kernel-zfcpdump SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1
- kernel-obs-build SLE Module for Development Tools 15 SP7 6.4.0-150700.53.81.1
- kernel-default-base SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1.150700.17.45.1
suse advisories SUSE-SU-2026:4254-1SUSE-SU-2026:23887-1SUSE-SU-2026:23902-1SUSE-SU-2026:23897-1SUSE-SU-2026:23881-1SUSE-SU-2026:4120-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.38.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.38.1
opensuse advisories openSUSE-SU-2026:21910-1
- git.kernel.org/stable/c/51860e423592893cd7bfa7287d99a3aff4dc3a9d commit
- git.kernel.org/stable/c/a09d07ac45e283c9861a9ceea06f56d0ba851d22 commit
- git.kernel.org/stable/c/72d8d1c36452a4d3ee134b1da48de7518c1329f9 commit
- git.kernel.org/stable/c/6dcd072a5ae3aed336e4a67a7d4cc5205b240065 commit
- git.kernel.org/stable/c/8079acc5ee5235a627e4586d4f42082a9000ea64 commit
- git.kernel.org/stable/c/31467b23823ffec1f6fff407f8e3ca9af8b7491a commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-64214 updated cvss 5.5
kernel: powerpc/time: Remove redundant preempt_disable|enable() calls from arch_irq_work_raise()
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 10 kernelaffected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.12% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-476 NULL Pointer Dereference
- Technology feeds
References
-
git.kernel.org
/stable/c/51860e423592893cd7bfa7287d99a3aff4dc3a9d
patch
-
git.kernel.org
/stable/c/a09d07ac45e283c9861a9ceea06f56d0ba851d22
patch
-
git.kernel.org
/stable/c/72d8d1c36452a4d3ee134b1da48de7518c1329f9
patch
-
git.kernel.org
/stable/c/6dcd072a5ae3aed336e4a67a7d4cc5205b240065
patch
-
git.kernel.org
/stable/c/8079acc5ee5235a627e4586d4f42082a9000ea64
patch
-
git.kernel.org
/stable/c/31467b23823ffec1f6fff407f8e3ca9af8b7491a
patch
Sources
- CVE List CVE-2026-64214
- NVD CVE-2026-64214
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.