Greg Kroa-Hartman hat darüber gesprochen, wie Rust helfen kann, Fehler im Linux-Kernel zu bekämpfen.

Greg Kroah-Hartman, der für die Unterstützung der stabilen und "staging" Zweige des Linux-Kernels verantwortlich ist und die Position des Hauptbetreuers in 16 Subsystemen des Kernels innehat, hielt einen Vortrag auf der Rust Week 2026, in dem er erläuterte, wie die Programmiersprache Rust helfen kann, Schwachstellen im Kernel zu verhindern, die aus typischen Fehlern von Entwicklern in C bei der Arbeit mit Speicher, Sperren, Fehlerbehandlung und dem Umgang mit unsicheren Daten entstehen. Als Hauptvorteil von Rust wird die Möglichkeit genannt, solche Fehler bereits während des Builds und nicht erst bei der Code-Überprüfung durch Menschen zu erkennen. Rust wird dabei jedoch nicht als Allheilmittel betrachtet, das alle Probleme beseitigen kann, und niemand plant, den Kernel in Rust neu zu schreiben: Es wird erwartet, dass Rust schrittweise durch die Nutzung für neue Treiber und Subsysteme integriert wird.

Als Beispiel für Fehler im Kernel, die durch die Verwendung von Rust hätten vermieden werden können, wurde ein Fehler im Bluetooth-Subsystem genannt, der 15 Jahre lang unentdeckt blieb, sowie ein Problem im Hypervisor Xen. Im ersten Fall führte der Entwickler einen Dereferenzierungsfehler ohne Überprüfung durch, während im zweiten Fall die Sperre im Fehlerbehandlungscode vergessen wurde.
Laut Greg beruhen die meisten Fehler im Kernel auf solchen Kleinigkeiten, die sich mit der Zeit anhäufen und als Schwachstellen ans Licht kommen. In Rust werden viele dieser Probleme durch den Compiler verhindert, beispielsweise ermöglichen die Rust-Abstraktionen für Sperren im Kernel den Zugriff auf interne Zeiger von Strukturen nur nach dem Erfassen der entsprechenden Sperre, die automatisch wieder freigegeben wird. Ohne das Erfassen der Sperre ist der Zugriff auf die Zeiger von Rust-Strukturen nicht möglich.

Greg ist der Ansicht, dass solche Möglichkeiten von Rust 60 % der Fehler im Kernel verhindert hätten, und dass die vom Compiler durchgeführten Prüfungen die Wartenden von zeitaufwändigen Diskussionen mit den Autoren über die Richtigkeit der Fehlerbehandlung und die Berechtigung zur Setzung von Sperren an den richtigen Stellen entlastet hätten. Darüber hinaus hat die Einführung der Rust-Unterstützung bereits einen positiven Einfluss auf den C-Code im Kernel gehabt, indem der C-Code und die Schnittstellen geordnet wurden und einige Entwicklungstechniken übernommen wurden (zum Beispiel wurden Sperren mit begrenztem Geltungsbereich implementiert).

Dank des Typsystems, das die Einhaltung vorgegebener Regeln gewährleistet, und dem Einsatz von Continuous Integration-Systemen, die den Code während des Build-Prozesses überprüfen, können Reviewer bei Änderungen in Rust sich auf die Überprüfung der Logik konzentrieren, anstatt die Ressourcennutzung zu verfolgen. Der Einsatz von Rust ermöglicht zudem eine sorgfältigere Behandlung der Daten, die von Hardware oder externen Systemen kommen. Dies wird durch die explizite Unterscheidung zwischen vertrauenswürdigen und nicht vertrauenswürdigen Daten auf der Ebene des Typsystems erreicht: Der Entwickler muss lediglich eine Analyse durchführen, wenn er von einem nicht vertrauenswürdigen in einen vertrauenswürdigen Zustand wechselt.

In letzter Zeit veröffentlicht das Team, das für die Sicherheit im Kernel verantwortlich ist, ungefähr 13 Berichte über Sicherheitsanfälligkeiten pro Tag, was im Vergleich zur bisherigen Dynamik der Auffindung von Sicherheitsanfälligkeiten wie eine Form des Wahnsinns wahrgenommen wird (zum Beispiel wurden gestern 277 Berichte über Sicherheitsanfälligkeiten im Kernel veröffentlicht). Greg ist der Meinung, dass die Verwendung von Rust eine der realen Möglichkeiten ist, die Fehlerzahl im Kernel zu reduzieren, die durch traditionelle Fehler bei der Fehlerbehandlung und dem Ressourcenmanagement verursacht werden. Der Support für Rust im Kernel hat bereits experimentelle Grenzen überschritten und wurde Ende letzten Jahres als offizielle Fähigkeit des Kernels anerkannt.

Video abspielen


Quelle: opennet.ru
Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster