The mainline Linux kernel has merged a stable abstraction layer allowing device drivers to be written in Rust rather than C, closing out a debate that has occupied kernel mailing lists, in various forms, since 2021.
The framework, which took shape gradually across several release cycles as an experimental subsystem, provides safe Rust bindings for the kernel's driver-facing APIs, aiming to eliminate entire classes of memory-safety bugs — use-after-free, buffer overruns, data races — that have historically accounted for a disproportionate share of kernel security advisories.
The path to merge was not smooth. A vocal contingent of longtime C maintainers argued that introducing a second systems language into the kernel would fragment the contributor base and impose a maintenance burden on subsystems that had no interest in Rust. Proponents countered with data: an internal audit cited during the debate found that memory-safety issues accounted for a majority of critical kernel CVEs over the preceding five years, nearly all in C code.
What ultimately shifted the balance, according to several maintainers involved in the discussions, was narrowing the scope. Rather than proposing Rust as a general-purpose replacement for kernel C, the merged framework applies specifically to driver code — the subsystem most frequently written by newer contributors, most often responsible for security advisories, and least central to the kernel's performance-critical core.
In practical terms, driver authors can now choose Rust for new drivers without needing sign-off from a special exception process, though existing C drivers are not being rewritten wholesale. Several hardware vendors, including at least two major network card manufacturers, have indicated plans to submit Rust-based drivers for review before the next long-term-support release.
Whether this merge marks the start of Rust's broader expansion into the kernel or remains a contained experiment limited to drivers is, unsurprisingly, still being argued about on the mailing list.
Estimated Impact
Affected Platforms
- Linux kernel driver development
Target Audience
Difficulty
Last Updated
Related Technologies
References