Linux Kernel: Rust Support Officially Approved
Rust is becoming equal to assembler and C in programming the Linux kernel – at least officially, as there is still a lot of work to be done in practice.
(Image: Tux by Larry Ewing/GIMP, Rust)
Rust is set to shed its "experimental phase" classification in Linux, thereby becoming a fully-fledged language for kernel programming. This was decided yesterday by key Linux developers, including Linus Torvalds, at the annual Kernel Maintainers Summit, as announced via a very brief report on LWN.net.
Rust Support Still Has a Lot of Work to Do
Practically speaking, Rust is thus rising to become the third most important language in the development of the Linux kernel, alongside assembler and C. However, this by no means implies that programmers can now immediately write any kernel driver in Rust: many subsystems still lack bridging code (bindings). This is required in many places, for example, so that a WLAN driver written in Rust can utilize the base infrastructure for WLAN drivers and PCIe devices written in C.
However, a few subsystems already have such bindings, or developers are already working on them. Among these is the one for kernel graphics drivers, where Nova, a driver written in Rust for modern Nvidia graphics cores, is currently being developed, which will likely be used on many PCs in the medium term.
Videos by heise
Three-Year Experiment Successfully Completed
The first parts of Rust support were added after extensive preparatory work three years ago in Linux 6.1. Among other things, developers hope that Rust support will reduce the number of security vulnerabilities – thanks to Rust features such as protection against memory access errors, buffer overflows, or problems with concurrent processes. Furthermore, the modern language is also intended to simplify development and make Linux more accessible to younger programmers.
(olb)