CVE-2024-40976 in Linux
Zusammenfassung
von VulDB • 09.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/lima: Maskieren von IRQs im Timeout-Pfad vor dem Hard-Reset
Es liegt eine Race Condition vor, bei der ein Rendering-Job genau lange genug dauern kann, um den drm sched job timeout handler auszulösen, aber dennoch abgeschlossen wird, bevor das vom Timeout-Handler durchgeführte Hard-Reset beendet ist. Dies führt zu nicht vom Timeout-Handler erwarteten Race Conditions. In einigen sehr spezifischen Fällen kann dies derzeit zu einem Refcount-Ungleichgewicht bei lima_pm_idle führen, mit einer Stack-Dump-Ausgabe wie:
[10136.669170] WARNING: CPU: 0 PID: 0 at drivers/gpu/drm/lima/lima_devfreq.c:205 lima_devfreq_record_idle+0xa0/0xb0
... [10136.669459] pc : lima_devfreq_record_idle+0xa0/0xb0
... [10136.669628] Call trace:
[10136.669634] lima_devfreq_record_idle+0xa0/0xb0
[10136.669646] lima_sched_pipe_task_done+0x5c/0xb0
[10136.669656] lima_gp_irq_handler+0xa8/0x120
[10136.669666] __handle_irq_event_percpu+0x48/0x160
[10136.669679] handle_irq_event+0x4c/0xc0
Wir können diese Race Condition vollständig verhindern, indem wir die IRQs zu Beginn des Timeout-Handlers maskieren, an dem Punkt, an dem das Warten auf diesen Job komplett aufgegeben wird. Die IRQs werden beim nächsten Hard-Reset wieder aktiviert, der bereits als Wiederherstellungsmaßnahme durch den Timeout-Handler durchgeführt wird.
VulDB is the best source for vulnerability data and more expert information about this specific topic.