Rust moves from experiment to a core Linux kernel language
Where does Rust in Linux go now? In a word, “Everywhere.”
Back in December, the memory-safe, computer language Rust moved from “experiment” to a permanent, first-class language in the Linux kernel. While not everyone’s happy about this, the next phase focuses on scaling Rust across drivers and subsystems without alienating maintainers or fragmenting the community. The story now is less “will Rust stay?” and more “where, how fast, and under whose terms does Rust spread inside Linux?”
Experiment over, policy era begins.
Rust is no longer tagged as experimental in the kernel after a decision at the 2025 Linux Kernel Maintainer Summit. 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 Rust-for-Linux lead Miguel Ojedam said, Rust is “here to stay”. This elevates Rust to being the kernel’s second core language alongside C.
Kernel documentation now treats Rust support as a standing feature, with a dedicated section explaining how to build and write Rust components rather than framing them as a trial. A separate “Rust kernel policy” has been published to spell out expectations for contributors and reassure maintainers that Rust is additive, not a stealth rewrite of core code.
Where Rust will appear first
So far, Rust has largely been confined to drivers and peripheral infrastructure, but the footprint is slowly widening. Developers report Rust code is active or emerging in areas such as PHY drivers, null block, NVMe, Android Binder, Apple AGX GPU, QR code generation for Direct Rendering Manager (DRM) panic screens, and the Nova driver for newer Nvidia GPUs.
Graphics is emerging as one of the most visible Rust testbeds: DRM maintainer Dave Airlie has said the DRM project is roughly a year away from requiring Rust for new drivers and disallowing new C submissions in some paths. At the Maintainers Summit, Airlie said that the DRM project is “about a year away” from disallowing new C drivers and requiring Rust for new drivers. The plan is to “require Rust and prohibit the use of C for new controllers” in the graphics stack.
Google’s Rust rewrite of the Android Binder kernel driver is also a major step forward in Rust. It has been merged into the mainline Linux kernel in version 6.18‑rc1, alongside the existing C implementation. Android 16 is the first Android release to use the Rust Binder driver in production. It also includes the Rust-based anonymous shared memory (ashmem) allocator. This version was released in mid-2025 and shipped in Samsung’s Galaxy Z Fold 7 and Galaxy Z Flip 7, followed shortly by the Galaxy S25 family and other 2025 flagships.
Android Binder is Android’s core interprocess communication (IPC). It enables Android apps and system services to call each other’s methods across process boundaries, as if they were local function calls. It sits in the Linux kernel and framework as a lightweight RPC system that moves data and commands between processes safely and efficiently. This makes Binder one of Android’s most security‑critical components. The goal is to gradually shift all its code to memory‑safe Rust while keeping behavior compatible with the long‑standing C driver.
Annoying enough, in late 2025, the first Common Vulnerabilities and Exposures (CVE) security bug appeared in the Rust Android Binder driver, CVE‑2025‑68260. This race condition in Binder’s linked list can corrupt list pointers and trigger kernel panics or denial‑of‑service crashes on systems that enable the Rust Binder driver. This hole’s been patched, but it underscores that, while Rust is generally safer than C, as with any language, you can still create security vulnerabilities.
None of this is to say that Linux will soon be rewritten in Rust. Josh Aas, who oversaw the Internet Security Research Group’s Prossimo memory-safety project, explained, “While our goal was never to rewrite the entire kernel in Rust, we are glad to see growing acceptance of Rust’s benefits in various subsystems. Today, multiple companies have full-time engineers dedicated to working on Rust in the Linux kernel.”
Toolchains and distributions
Making Rust permanent also hardens its toolchain requirements into the kernel’s long‑term support story. Kernel maintainers have agreed on a practical baseline: you must be able to build Rust-enabled kernels with the Rust toolchain shipped in Debian stable Linux, a moving but tightly curated target.
Rust is becoming more central to the broader Linux ecosystem: Debian Linux will soon be enforcing “hard Rust requirements” in APT, its package manager, by mid‑2026. This means other popular distributions, such as Ubuntu and Mint, will also include Rust shortly.
Kernel Politics and Pushback
The technical decision is settled, but socially, Rust in Linux remains contentious. Longtime Linux kernel developer Christoph Hellwig called adding two languages to the kernel “cancer.” He has argued that Rust increases complexity and has complained about Rust code being merged over maintainer objections, prompting Linus Torvalds to publicly respond that no Rust changes were forced into subsystems against their maintainers’ will.
Critics frame Rust as an ideological overreach and warn that introducing a second high‑level language risks splitting developers’ attention and compromising maintainability. Torvalds, for his part, has repeated that Rust support is optional, that zero “core kernel” paths have been rewritten, and that anyone who fundamentally rejects Rust is free to fork and maintain a C‑only kernel instead.
Security, safety, and the long game
For advocates, the destination has always been safer kernel code in the most vulnerable places: drivers and complex I/O subsystems. Research into Rust-for-Linux bindings shows Rust drivers can encapsulate unsafe interactions behind safer abstractions. This reduces the scope for memory errors while still interoperating with C‑based kernel interfaces.
Looking ahead, Rust supporters argue that as more bindings land, Rust will become the default for new code in many driver stacks, while C remains entrenched in the scheduler, core MM, and other deeply tuned subsystems. The next few years are expected to bring a steady increase in Rust driver volume rather than a dramatic rewrite. Torvalds previously noted that Rust adoption has been slower than some expected, but it now has a stable toolchain and a clear path forward.
Finally, lest we forget, the Linux community isn’t the only developer group shifting gears from C to Rust. Microsoft is in the middle of a major, long‑term shift toward Rust. Microsoft distinguished engineer Galen Hunt recently wrote on LinkedIn that “My goal is to eliminate every line of C and C++ from Microsoft by 2030.” Good luck with that. Microsoft plans to do this by pairing Rust with AI‑assisted migration tools and new Rust frameworks so that future low‑level code is written in Rust by default rather than C/C++. Linux has a much easier row to hoe in its Rust journey.
Looking ahead, if you asked me which programming language to learn today, I would say Rust. C, and assembly for that matter, won’t be going away. When you need speed above all else, you can’t beat those two languages. For most of tomorrow’s system developers, however, Rust is now the language of choice.
How to pick up Rust
Want to learn it? There are several easy-to-access resources. For Linux developers, look at Programming in Rust (LFD480). This is a Linux Foundation instructor‑led course aimed at systems developers, covering idiomatic Rust, ownership, and concurrency; a good on‑ramp before touching kernel‑specific code.
For kernel developers who want to pick up Rust, there’s the Rust for Linux: Code Documentation & Tests. This webinar focuses on documentation and testing Rust kernel components.
The official Rust “learn” portal, pointing to The Book, Rustlings, and other curated resources, is ideal if your C skills are strong but you’re new to Rust. The Rust Learning Resources 2025 curated list is good for picking up the language fundamentals.