Linux-Kernel: Rust-Entwicklung schreitet mit neuer Edition voran

Das Projekt zum Integrieren von Rust als Zweitsprache im Linux-Kernel setzt auf Rust 2021. Red Hat scheint inzwischen ebenfalls an der Einbindung interessiert.

In Pocket speichern vorlesen Druckansicht 151 Kommentare lesen
Linux Kernel 5.1

(Bild: Charles Bergman / shutterstock.com)

Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Das Team, das Rust als Zweitsprache neben C im Linux-Kernel integrieren möchte, hat das v2-Patch-Release veröffentlicht, das im Vergleich zu v1 einige Ergänzungen mitbringt. Hinsichtlich der Infrastruktur setzt das Projekt nun auf den stabilen Rust-Compiler statt wie bisher auf den Beta-Compiler. Außerdem gibt es Anpassungen für die Pakete core und alloc.

Rust ist bereits seit längerer Zeit für die Linux-Kernel-Entwicklung im Gespräch. Ein wichtiger Vorteil gegenüber C ist die standardmäßige Memory Safety, da Speicherfehler für einen Großteil der Schwachstellen in Software verantwortlich sind. Konkrete Züge nahm die Umsetzung im Juli 2020 an. Kurz zuvor hattet Linus Torvalds erklärt, dass er sich den Einsatz von Rust im Linux-Kernel grundsätzlich vorstellen könne.

Zu den frühen Unterstützern des Projekts gehören Google, Microsoft und ARM. In der Mail zum v2-Release verkündet der führende Entwickler der Rust-Implementierung Miguel Ojeda, dass nun auch Red Hat Interesse an der Umsetzung bekundet hat.

Hinsichtlich der Infrastruktur baut das Projekt mit dem aktuellen v2-Release auf Rust 2021 auf, die im Oktober veröffentlichte dritte Edition der Programmiersprache. Grundlage für das Patch-Release ist die Anfang Dezember veröffentlichte Version 1.57.

Mit dem Wechsel auf den stabilen und aktuellen Compiler konnte das Team die Funktionen const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic und try_reserve stabilisieren. Auf GitHub findet sich eine Liste der weiterhin instabilen Features. Sobald das Projekt die restlichen Funktionen stabilisiert haben wird oder nicht mehr benötigt, steht die Ansage einer Minimalversion für Rust im Linux-Kernel analog zu den Vorgaben zu GCC und Clang an.

(Bild: Rust-for-Linux)

Außerdem soll die Crate, also das Rust-Paket, alloc modularer werden, um einige für das Projekt nicht benötigte Features wie no_sync zu deaktivieren. Die core-Crate erhält dafür mit no_fp_fmt_parse eine neue Funktion für den Einsatz im Linux-Kernel. Offensichtlich hat das Rust-Team die Aufnahme der Änderungen in die Programmiersprache als Upstream gefördert.

Weitere Details unter anderem zu zusätzlichen Abstraktionen und dem erweiterten Treiber-Support lassen sich Ojedas Mail auf der Linux-Kernel-Mailing-Liste entnehmen. Die Projektseite findet sich auf GitHub. Dort ist das Archiv der Mailing-Liste ebenso verlinkt wie eine Mail, um sie zu abonnieren.

(rme)