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]
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 26, 2026 | Jul 26, 2026 |
| Redhat_linux | — | No solution exists | Jul 29, 2026 | Jul 24, 2026 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1061-oracleUpgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-raspi-6.8Upgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-nvidia-bosUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1049-gkeopUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-6.8.0-1064-ibmUpgrade linux-image-aws-7.0Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-6.8.0-139-lowlatencyUpgrade linux-image-laptop-23.10Upgrade linux-image-gcp-64kUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-virtual-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1067-azureUpgrade linux-image-awsUpgrade linux-image-generic-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-azureUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1062-nvidia-lowlatencyUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-1061-oracle-64kUpgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-aws-64k-7.0Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-139-genericUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-7.0Upgrade linux-image-gke-64k-6.8Upgrade linux-image-raspiUpgrade linux-image-gke-64kUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-nvidia-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-6.8.0-1067-azure-fipsUpgrade linux-image-ibmUpgrade linux-image-ibm-6.8Upgrade linux-image-gkeopUpgrade linux-image-genericUpgrade linux-image-fipsUpgrade linux-image-6.8.0-1064-raspiUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-azure-6.8Upgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gcp-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.1-1059-realtimeUpgrade linux-image-6.8.0-1062-gke-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-gcp-7.0Upgrade linux-image-fips-6.8Upgrade linux-image-azure-7.0Upgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-6.8.0-2053-raspi-realtimeUpgrade linux-image-6.8.0-139-generic-64kUpgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gkeUpgrade linux-image-oracleUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1067-gcpUpgrade linux-image-7.0.0-1009-awsUpgrade linux-image-6.8.0-1062-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1062-gkeUpgrade linux-image-xilinxUpgrade linux-image-raspi-realtimeUpgrade linux-image-raspi-7.0Upgrade linux-image-azure-fips-6.8Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidiaUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1036-xilinxUpgrade linux-image-virtualUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1067-gcp-fipsUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1067-gcp-64kUpgrade linux-image-6.8.0-1062-nvidiaUpgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-aws-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1062-nvidia-64kUpgrade linux-image-kvmUpgrade linux-image-ibm-classicUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-139-fipsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-139-lowlatency-64k | Jul 28, 2026 | Jul 28, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 28, 2026 | Jul 24, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub