CVE-2024-46851 in Linux
Zusammenfassung
von VulDB • 15.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/amd/display: Vermeidung einer Race Condition zwischen dcn10_set_drr() und dc_state_destruct()
dc_state_destruct() setzt den Ressourcenkontext des DC-Status auf NULL. Der an dcn10_set_drr() übergebene Pipe-Kontext ist ein Mitglied dieses Ressourcenkontexts.
Wenn dc_state_destruct() parallel zur IRQ-Behandlung (die zu einem bestimmten Zeitpunkt dcn10_set_drr() aufruft) ausgeführt wird, kann es dazu kommen, dass bereits auf NULL gesetzte Funktions-Callback-Felder der Struktur stream_resource verwendet werden.
Die Logik in dcn10_set_drr() versucht dies zwar durch einen Check von tg gegen NULL zu vermeiden. Wenn das Setzen auf NULL jedoch genau nach dem NULL-Check und vor dem nächsten Zugriff erfolgt, entsteht eine Race Condition.
Dies wird vermieden, indem tg zunächst in eine lokale Variable kopiert und diese Variable anschließend für alle Operationen verwendet wird. Dies sollte funktionieren, solange niemand den Ressourcenpool freigibt, in dem sich die Timing-Generatoren befinden.
(cherry picked from commit a3cc326a43bdc48fbdf53443e1027a03e309b643)
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.