Release Date: | 2024-05-22 |
In the Linux kernel, the following vulnerability has been resolved:\npowerpc/smp: do not decrement idle task preempt count in CPU offline\nWith PREEMPT_COUNT=y, when a CPU is offlined and then onlined again, we\nget:\nBUG: scheduling while atomic: swapper/1/0/0x00000000\nno locks held by swapper/1/0.\nCPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.15.0-rc2+ #100\nCall Trace:\ndump_stack_lvl+0xac/0x108\n__schedule_bug+0xac/0xe0\n__schedule+0xcf8/0x10d0\nschedule_idle+0x3c/0x70\ndo_idle+0x2d8/0x4a0\ncpu_startup_entry+0x38/0x40\nstart_secondary+0x2ec/0x3a0\nstart_secondary_prolog+0x10/0x14\nThis is because powerpc's arch_cpu_idle_dead() decrements the idle task's\npreempt count, for reasons explained in commit a7c2bb8279d2 ('powerpc:\nRe-enable preemption before cpu_die()'), specifically 'start_secondary()\nexpects a preempt_count() of 0.'\nHowever, since commit 2c669ef6979c ('powerpc/preempt: Don't touch the idle\ntask's preempt_count during hotplug') and commit f1a0a376ca0c ('sched/core:\nInitialize the idle task with preemption disabled'), that justification no\nlonger holds.\nThe idle task isn't supposed to re-enable preemption, so remove the\nvestigial preempt_enable() from the CPU offline path.\nTested with pseries and powernv in qemu, and pseries on PowerVM.
See more information about CVE-2021-47454 from MITRE CVE dictionary and NIST NVD
NOTE: The following CVSS v3.1 metrics and score provided are preliminary and subject to review.
Base Score: | 4.1 | CVSS Vector: | CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H |
Attack Vector: | Local network | Attack Complexity: | High |
Privileges Required: | High | User Interaction: | None |
Scope: | Unchanged | Confidentiality Impact: | None |
Integrity Impact: | None | Availability Impact: | High |
Platform | Errata | Release Date |
Oracle Linux version 9 (kernel) | ELSA-2024-9315 | 2024-11-14 |
This page is generated automatically and has not been checked for errors or omissions. For clarification or corrections: