Rust in Linux's Kernel 'is No Longer Experimental'
Steven J. Vaughan-Nichols files this report from Tokyo:
At the invitation-only Linux
Kernel Maintainers Summit here, the top Linux maintainers decided, as Jonathan Corbet, Linux kernel developer, put it, "The consensus among the assembled developers is that Rust
in the kernel is no longer experimental — it is now a core part
of the kernel and is here to stay. So the 'experimental' tag
will be coming off." As Linux kernel maintainer Steven Rosted told
me, "There was zero pushback."
This has been a long time coming. This shift caps five years of
sometimes-fierce debate over whether the memory-safe language belonged alongside C at the heart of the world's most widely deployed open source operating system... It all began when Alex
Gaynor and Geoffrey
Thomas at the 2019 Linux Security Summit said that about
two-thirds of Linux kernel vulnerabilities come from memory safety
issues. Rust, in theory, could avoid these by using Rust's
inherently safer application programming interfaces (API)... In those early days, the plan was not to rewrite Linux in Rust; it still isn't, but to adopt it selectively where it can provide the
most security benefit without destabilizing mature C code. In short,
new drivers, subsystems, and helper libraries would be the first
targets...
Despite the fuss, more and more programs were ported to Rust. By
April 2025, the Linux kernel contained about 34 million lines of C
code, with only 25 thousand lines written in Rust. At the same time,
more and more drivers and higher-level utilities were being written
in Rust. For instance, the Debian Linux distro developers announced
that going forward, Rust
would be a required dependency in its foundational
Advanced Package Tool (APT).
This change doesn't mean everyone will need to use Rust. C is
not going anywhere. Still, as several maintainers told me, they
expect to see many more drivers being written in Rust. In particular,
Rust looks especially attractive for "leaf" drivers (network,
storage, NVMe, etc.), where the Rust-for-Linux
bindings expose safe wrappers over kernel C APIs. Nevertheless, for would-be kernel and systems programmers, Rust's
new status in Linux hints at a career path that blends deep
understanding of C with fluency in Rust's safety guarantees. This
combination may define the next generation of low-level development
work.
Read more of this story at Slashdot.