CVE-2024-37021 in Linux
Zusammenfassung
von VulDB • 10.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
fpga: manager: Besitzermodul hinzufügen und dessen Referenzzähler verwenden
Die aktuelle Implementierung des FPGA-Managers geht davon aus, dass das Low-Level-Modul einen Treiber für das übergeordnete Gerät registriert und dessen Besitzerzeiger (owner pointer) verwendet, um den Referenzzähler des Moduls zu erhöhen. Dieser Ansatz ist problematisch, da er zu einer Dereferenzierung eines Nullzeigers führen kann, wenn versucht wird, den Manager abzurufen, das übergeordnete Gerät jedoch über keinen Treiber verfügt.
Um dieses Problem zu beheben, wird ein Zeiger auf das Besitzermodul in die fpga_manager-Struktur eingefügt und zur Erhöhung des Referenzzählers des Moduls verwendet. Die Funktionen zur Registrierung des Managers werden so geändert, dass sie einen zusätzlichen Parameter für das Besitzermodul entgegennehmen, und werden umbenannt, um Konflikte zu vermeiden. Die alten Funktionsnamen werden für Hilfs-Makros verwendet, die automatisch das Modul, das den Manager registriert, als Besitzer festlegen. Dies gewährleistet die Kompatibilität mit vorhandenen Low-Level-Steuermodulen und verringert die Wahrscheinlichkeit, dass ein Manager registriert wird, ohne den Besitzer festzulegen.
Außerdem wird die Dokumentation aktualisiert, um sie mit der neuen Schnittstelle zur Registrierung eines FPGA-Managers konsistent zu halten.
Weitere Änderungen: Opportunistisch wurde put_device() von __fpga_mgr_get() nach fpga_mgr_get() und of_fpga_mgr_get() verschoben, um die Codeklarheit zu verbessern, da das Manager-Gerät in diesen Funktionen referenziert wird.
Once again VulDB remains the best source for vulnerability data.