In the Linux kernel, the following vulnerability has been resolved:
powerpc/smp: do not decrement idle task preempt count in CPU offline
With PREEMPT_COUNT=y, when a CPU is offlined and then onlined again, we get:
BUG: scheduling while atomic: swapper/1/0/0x00000000 no locks held by swapper/1/0. CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.15.0-rc2+ #100 Call Trace: dump_stack_lvl+0xac/0x108 __schedule_bug+0xac/0xe0 __schedule+0xcf8/0x10d0 schedule_idle+0x3c/0x70 do_idle+0x2d8/0x4a0 cpu_startup_entry+0x38/0x40 start_secondary+0x2ec/0x3a0 start_secondary_prolog+0x10/0x14
This is because powerpc's arch_cpu_idle_dead() decrements the idle task's preempt count, for reasons explained in commit a7c2bb8279d2 ("powerpc: Re-enable preemption before cpu_die()"), specifically "start_secondary() expects a preempt_count() of 0."
However, since commit 2c669ef6979c ("powerpc/preempt: Don't touch the idle task's preempt_count during hotplug") and commit f1a0a376ca0c ("sched/core: Initialize the idle task with preemption disabled"), that justification no longer holds.
The idle task isn't supposed to re-enable preemption, so remove the vestigial preempt_enable() from the CPU offline path.
Tested with pseries and powernv in qemu, and pseries on PowerVM.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | May 22, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Dec 5, 2024 | May 22, 2024 |
| Suse | — | Upgrade kernel-source-vanillaUpgrade dtb-alteraUpgrade kernel-azure-develUpgrade kernel-kvmsmallUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-syms-azureUpgrade kernel-azure-livepatch-develUpgrade kernel-devel-azureUpgrade kernel-default-optionalUpgrade dtb-xilinxUpgrade dlm-kmp-64kbUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-azureUpgrade kernel-rt-extraUpgrade dtb-lgUpgrade dtb-caviumUpgrade kernel-sourceUpgrade kernel-devel-rtUpgrade dtb-mediatekUpgrade kernel-obs-buildUpgrade kernel-default-vdsoUpgrade kernel-zfcpdumpUpgrade dtb-armUpgrade kernel-default-base-rebuildUpgrade dtb-rockchipUpgrade dtb-qcomUpgrade ocfs2-kmp-rtUpgrade kernel-64kb-develUpgrade dtb-exynosUpgrade kselftests-kmp-64kbUpgrade kernel-azure-optionalUpgrade kernel-debug-vdsoUpgrade dtb-allwinnerUpgrade kernel-source-azureUpgrade kernel-rtUpgrade gfs2-kmp-rtUpgrade kernel-kvmsmall-develUpgrade dtb-nvidiaUpgrade cluster-md-kmp-rtUpgrade kernel-rt-develUpgrade kernel-rt-livepatchUpgrade kernel-develUpgrade dtb-renesasUpgrade kernel-rt-optionalUpgrade kernel-rt-livepatch-develUpgrade dtb-marvellUpgrade dlm-kmp-azureUpgrade dtb-freescaleUpgrade kernel-debug-livepatch-develUpgrade kernel-symsUpgrade kernel-default-livepatch-develUpgrade kernel-azureUpgrade kernel-debugUpgrade kernel-rt_debugUpgrade gfs2-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade dlm-kmp-rtUpgrade kernel-64kbUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug-develUpgrade kernel-docs-htmlUpgrade kernel-defaultUpgrade kernel-64kb-extraUpgrade dtb-broadcomUpgrade kernel-rt-vdsoUpgrade dtb-apmUpgrade kselftests-kmp-azureUpgrade kselftests-kmp-defaultUpgrade dtb-amlogicUpgrade cluster-md-kmp-64kbUpgrade kernel-64kb-optionalUpgrade kernel-source-rtUpgrade reiserfs-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade dtb-socionextUpgrade cluster-md-kmp-defaultUpgrade kernel-default-baseUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debug-develUpgrade kernel-syms-rtUpgrade kernel-default-develUpgrade reiserfs-kmp-64kbUpgrade dtb-hisiliconUpgrade kernel-docsUpgrade dtb-sprdUpgrade dlm-kmp-defaultUpgrade kernel-macrosUpgrade dtb-amazonUpgrade kernel-default-extraUpgrade kernel-azure-vdsoUpgrade gfs2-kmp-defaultUpgrade dtb-appleUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-amdUpgrade kernel-default-livepatchUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-64kb-livepatch-develUpgrade ocfs2-kmp-64kbUpgrade kernel-obs-qaUpgrade kernel-azure-extraUpgrade ocfs2-kmp-azure | Aug 9, 2024 | May 22, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 22, 2024 |
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