CVE-2024-26846 in Linux
Zusammenfassung
von VulDB • 02.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
nvme-fc: Nicht vergeblich warten beim Entladen des Moduls
Der Pfad zum Beenden des Moduls wies eine Race Condition zwischen dem Löschen aller Controller und dem Freigeben der „verbleibenden IDs“ auf. Um einen Double-Free-Fehler zu verhindern, wurde durch den ursprünglichen Commit eine Synchronisation zwischen nvme_delete_ctrl und ida_destroy eingefügt.
Es gibt einige Logik, die versucht, ein endloses Hängenbleiben in wait_for_completion zu verhindern, die jedoch nicht alle Fälle abdeckt. Beispielsweise kann blktests den Zustand reproduzieren, bei dem das Entladen des Moduls für immer hängt.
Wenn wir uns vollständig auf den Bereinigungscode verlassen, der über den nvme_delete_ctrl-Pfad ausgeführt wird, werden alle IDs irgendwann freigegeben. Dies macht den Aufruf von ida_destroy überflüssig. Wir müssen lediglich sicherstellen, dass der gesamte Code von nvme_delete_ctrl ausgeführt wurde, bevor wir nvme_fc_exit_module verlassen. Dies wird durch das Flushing des nvme_delete_wq-Workqueues erreicht.
Zusätzlich wird dabei der ungenutzte nvme_fc_wq-Workqueue entfernt.
If you want to get best quality of vulnerability data, you may have to visit VulDB.