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]
| 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-139-fipsUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1064-awsUpgrade linux-image-ibm-classicUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1062-nvidiaUpgrade linux-image-6.8.0-1067-gcp-64kUpgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-intel-iotgUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-oracleUpgrade linux-image-6.8.0-2053-raspi-realtimeUpgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-6.8.0-139-generic-64kUpgrade linux-image-azure-7.0Upgrade linux-image-genericUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-fips-6.8Upgrade linux-image-7.0.0-1009-awsUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-6.8.0-1062-gkeUpgrade linux-image-azure-fips-6.8Upgrade linux-image-gcpUpgrade linux-image-gcp-7.0Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-nvidiaUpgrade linux-image-lowlatencyUpgrade linux-image-raspi-7.0Upgrade linux-image-6.8.1-1059-realtimeUpgrade linux-image-raspi-realtimeUpgrade linux-image-ibm-6.8Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-ibmUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1036-xilinxUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-1067-gcpUpgrade linux-image-6.8.0-1067-gcp-fipsUpgrade linux-image-6.8.0-1062-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1062-gke-64kUpgrade linux-image-azure-fipsUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1064-aws-fipsUpgrade linux-image-generic-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-6.8.0-1062-nvidia-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-virtualUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-gkeUpgrade linux-image-6.8.0-1064-raspiUpgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-6.8.0-1064-aws-64kUpgrade linux-image-azure-6.8Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-fipsUpgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-aws-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-139-lowlatency-64kUpgrade linux-image-oracle-7.0Upgrade linux-image-generic-lpaeUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-64kUpgrade linux-image-gcp-64kUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-generic-64kUpgrade linux-image-awsUpgrade linux-image-gke-6.8Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-nvidia-7.0Upgrade linux-image-7.0.0-1014-azureUpgrade linux-image-gke-64kUpgrade linux-image-6.8.0-139-genericUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-6.8.0-1061-oracle-64kUpgrade linux-image-aws-64k-7.0Upgrade linux-image-realtimeUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-nvidia-tegraUpgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-6.8.0-1067-azure-fipsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-fips-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-6.8.0-1061-oracleUpgrade linux-image-gke-64k-6.8Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-139-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-laptop-23.10Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-aws-7.0Upgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-6.8.0-1066-ibmUpgrade linux-image-6.8.0-1064-ibmUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-bosUpgrade linux-image-6.8.0-1067-azureUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1049-gkeopUpgrade linux-image-azureUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-6.8.0-1062-nvidia-lowlatencyUpgrade linux-image-virtual-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-lowlatency | 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 |
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