Executive brief
A vulnerability was identified in the Linux kernel's task scheduling system that can cause system instability or crashes when a processor (CPU) is being removed or powered down. This issue occurs because certain background scheduling timers are not properly stopped before the CPU goes offline, leading to kernel warnings and potential hangs. This primarily affects high-availability servers or virtualized environments where CPUs are frequently added or removed dynamically.
Technical details
A race condition exists in the Linux kernel's deadline scheduler (sched/deadline) during CPU hotplug offline operations. When a CPU is being removed, a 'dl_server' hrtimer may be enqueued (e.g., via kthread_park) just as the CPU is marked offline in the 'cpu_present_mask'. If the timer fires after the CPU is considered offline, it triggers a kernel warning in 'cpudl_set' because the scheduler attempts to manipulate a deadline for a non-present CPU. The fix involves explicitly calling 'dl_server_stop' within 'sched_cpu_dying' to ensure all deadline server activities are halted before the CPU is fully decommissioned. This issue was introduced by a previous fix intended to prevent deadline servers from getting stuck.
Affected products
- Linux Linux Kernel Versions prior to 6.12 (specifically affecting systems with deadline scheduler changes)
Timeline
- 2025-10-10: patched: Initial patch authored by Intel
- 2025-11-12: disclosed: CVE-2025-40163 published