Rust in the Linux Kernel Is No Longer an Experiment

At the 2025 Maintainers Summit, Linux kernel developers reached consensus that Rust support is now permanent and the experimental label will be removed.

Rust in the Linux Kernel Is No Longer an Experiment

“Experimental” in the Linux kernel is a formal maintenance status, not casual hedging — removing the label is a binding commitment that the code will be maintained, not quietly dropped between releases.

Source

The (successful) end of the kernel Rust experiment

By: Jonathan Corbet / LWN
Published: Dec 10 2025
Type: News brief

Saved because the kernel’s formal acceptance of Rust settles a years-long question about whether a second systems language belongs inside the kernel’s core infrastructure.

From Experimental Status to Core Infrastructure

Kernel subsystems marked “experimental” occupy a precise grey zone. The feature compiles and sometimes ships in distributions, but carries an asterisk: if enough senior maintainers object, or if the approach proves architecturally wrong, it can disappear. That status shapes what downstream projects choose to build on — distributions may disable the feature by default, driver authors may avoid depending on it, and contributors may not invest serious time in code that might not survive the next merge window.

Rust for Linux has been operating inside that grey zone since initial support landed in kernel 6.1 in December 2022. The project had serious champions and real opposition — long-time C contributors who questioned whether the complexity of introducing a second language was worth the safety payoff. The “experimental” label was honest in 2022: the integration was new, the idioms for writing safe kernel code in Rust were still being established, and nobody could guarantee the approach would survive contact with the wider maintainer community.

The 2025 Maintainers Summit changed that. The summit is the kernel’s annual high-stakes coordination meeting — the room where Linus Torvalds and senior subsystem maintainers hash out the project’s direction before the next development cycle. Reaching consensus there rather than through extended mailing-list discussion means the decision carries institutional weight. The assembled developers agreed: Rust is now a core part of the kernel and is here to stay. The “experimental” tag is coming off.

What removing the label means in practice is a set of implicit maintenance guarantees. Rust support will not be removed. The binding layer and kernel crate abstractions that modules written in Rust depend on will be maintained with the same commitment as any other core infrastructure. Driver and subsystem maintainers writing in Rust can plan long-term work without worrying their code will be orphaned by a future policy reversal.

It also means the integration has proven what it originally set out to prove. The argument for Rust in the kernel was never about replacing existing C code — it was about giving driver authors the option to write new code in a language where whole categories of memory-safety bugs are structurally impossible. Buffer overflows in kernel space are not a minor inconvenience; they form the primary attack surface for a significant fraction of privilege-escalation exploits. A language that eliminates them by construction, without requiring the author to remain infallible across thousands of lines, is worth the cost of bringing it in.

The community reaction when LWN first published the news was instructive. The original headline — “The (successful) end of the kernel Rust experiment” — triggered immediate alarm before readers reached the second word. People were primed to read failure. The thread lit up with disbelief before the correction landed, and the visible relief in the responses is a direct measure of how much tension has surrounded this project since its first merge proposals — and how much the Rust-for-Linux contributors had invested in making it succeed.

The milestone arrives as Rust is making parallel inroads elsewhere. Comments in the original LWN thread note that Microsoft has shipped Rust in the Windows kernel for portions of its windowing infrastructure. Rust’s presence in a production kernel is no longer a Linux-specific experiment — it reflects a broader shift in what serious systems software looks like going forward.

What I want to remember

Remember: “Experimental” in the kernel is a formal maintenance status tied to commitment, not a comment on code quality — its removal means the code is permanent infrastructure, not that it is finished.