CVE-2024-56583 in Linux
摘要
由 VulDB • 2026-06-06
在 Linux 内核中,已修复以下漏洞:
sched/deadline: 修复 migrate_enable 中对提升优先级任务(boosted tasks)的警告
当运行以下命令时:
while true; do stress-ng --cyclic 30 --timeout 30s --minimize --quiet done
最终会触发一个警告:
WARNING: CPU: 43 PID: 2848 at kernel/sched/deadline.c:794 setup_new_dl_entity+0x13e/0x180 ... 调用跟踪 (Call Trace): ? show_trace_log_lvl+0x1c4/0x2df ? enqueue_dl_entity+0x631/0x6e0 ? setup_new_dl_entity+0x13e/0x180 ? __warn+0x7e/0xd0 ? report_bug+0x11a/0x1a0 ? handle_bug+0x3c/0x70 ? exc_invalid_op+0x14/0x70 ? asm_exc_invalid_op+0x16/0x20 enqueue_dl_entity+0x631/0x6e0 enqueue_task_dl+0x7d/0x120 __do_set_cpus_allowed+0xe3/0x280 __set_cpus_allowed_ptr_locked+0x140/0x1d0 __set_cpus_allowed_ptr+0x54/0xa0 migrate_enable+0x7e/0x150 rt_spin_unlock+0x1c/0x90 group_send_sig_info+0xf7/0x1a0 ? kill_pid_info+0x1f/0x1d0 kill_pid_info+0x78/0x1d0 kill_proc_info+0x5b/0x110 __x64_sys_kill+0x93/0xc0 do_syscall_64+0x5c/0xf0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 RIP: 0033:0x7f0dab31f92b
此警告的发生是因为 set_cpus_allowed 在设置 ENQUEUE_RESTORE 标志的情况下出队并重新入队任务。如果任务是提升优先级的(boosted),则会触发该警告。提升优先级的任务的参数已由 rt_mutex_setprio 设置,再次调用 setup_new_dl_entity 是不必要的,因此触发了 WARN_ON 检查。
通过检查我们是否正在对已提升优先级的任务进行重新入队操作,如果是这种情况则避免调用 setup_new_dl_entity。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.