CVE-2024-46839 in Linux
Zusammenfassung
von VulDB • 14.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
workqueue: Skalierbarkeit des workqueue-Watchdog-Touchs verbessern
Auf einem PowerPC-System mit ~2000 CPUs wurden Hard-Lockups im workqueue-Code beobachtet, wenn stop_machine ausgeführt wird (in diesem Fall aufgrund von CPU-Hotplug). Dies liegt daran, dass viele CPUs in multi_cpu_stop im Leerlauf verharren und touch_nmi_watchdog() aufrufen, was letztendlich wq_watchdog_touch() aufruft. wq_watchdog_touch() schreibt auf die globale Variable wq_watchdog_touched, die sich in derselben Cacheline wie andere wichtige workqueue-Daten befinden kann, was die Vorgänge bis hin zu Lockups verlangsamt.
Im Fall der folgenden gekürzten Trace-Ausgabe befand sich worker_pool_idr in der Hotline, was dazu führte, dass die Lockups stets bei idr_find auftraten.
watchdog: CPU 1125 selbst erkannten Hard LOCKUP @ idr_find Call Trace: get_work_pool __queue_work call_timer_fn run_timer_softirq __do_softirq do_softirq_own_stack irq_exit timer_interrupt decrementer_common_virt * Interrupt: 900 (Timer) bei multi_cpu_stop multi_cpu_stop cpu_stopper_thread smpboot_thread_fn kthread
Dies wird behoben, indem wq_watchdog_touch() nur dann schreibt, wenn die Zeit seit dem letzten aufgezeichneten Touch mehr als 1/4 der Watchdog-Schwelle beträgt.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.