TOKYO — At nan invitation-only Linux Kernel Maintainers Summit here, nan apical Linux maintainers decided, arsenic Jonathan Corbet, Linux kernel developer, put it, “The statement among nan assembled developers is that Rust successful nan kernel is nary longer experimental — it is now a halfway portion of nan kernel and is present to stay. So nan ‘experimental ‘ tag will beryllium coming off.” As Linux kernel maintainer Steven Rosted told me, “There was zero pushback.”
This has been a agelong clip coming. This displacement caps 5 years of sometimes-fierce statement complete whether nan memory-safe language belonged alongside C astatine nan bosom of nan world’s astir wide deployed unfastened root operating system.
The Signs Were There
The signs were there, though, that this measurement to Rust acceptance was coming. At nan caller Linux Foundation Open Source Summit Korea 2025, Torvalds had said, “I deliberation we’ve reached a shape [where] Rust is genuinely becoming portion of nan kernel, and it’s nary longer conscionable an experimental thing.”
No, no, it’s not. It each began erstwhile Alex Gaynor and Geoffrey Thomas astatine nan 2019 Linux Security Summit said that astir two-thirds of Linux kernel vulnerabilities travel from representation information issues. Rust, successful theory, could debar these by utilizing Rust’s inherently safer exertion programming interfaces (API).
In nan consequent 2020 Linux Plumbers meeting, developer Nelson Elhage, in his summary of nan Plumbers’ gathering connected Rust successful Linux, explained that Linux Rust proponents aren’t “proposing a rewrite of nan Linux kernel into Rust; they are focused only connected moving toward a world wherever caller codification whitethorn beryllium written successful Rust. The 3 areas of imaginable interest for Rust support are making usage of nan existing APIs successful nan kernel, architecture support, and dealing pinch exertion binary interface (ABI) compatibility betwixt Rust and C.”
In nan meantime, Miguel Ojeda, a Linux kernel developer, started migrating Linux codification from C to Rust. He created nan Rust for Linux project to bring out-of-tree Rust modules to Linux successful 2019.
By early 2021, Rust was, extracurricular nan Linux kernel, being brought person to nan world’s favourite operating system. Amazon Web Services (AWS) released Bottlerocket Linux for containers, which was partially Rust-based. At astir nan aforesaid time, Sylvestre Ledru, a Debian Linux developer, ported a Rust type of Coreutils to Linux utilizing nan LLVM compiler infrastructure and its Clang C connection front-end and tooling infrastructure.
Give Rust A Chance
That March, Linus Torvalds decided to springiness Rust a chance. He told maine astatine nan time, he was successful nan ‘wait and see’ campy — I’m willing successful nan project, but I deliberation it’s driven by group who are very excited astir Rust, and I want to spot really it really ends up moving successful practice.”
“Personally,” Torvalds added, he’s “in nary measurement “pushing” for Rust, [but] I’m unfastened to it considering nan promised advantages and avoiding immoderate information pitfalls, but I besides cognize that sometimes promises don’t cookware out.”
As it would move out, those promises were kept. Backed by financial support from nan Internet Security Research Group (ISRG) and Google, connected Sept. 20, 2021, Ojeda submitted nan first propulsion petition for nan Rust for Linux project. This added first Rust support, including Kbuild integration, first support for built-in modules, and nan beginnings of nan kernel crate, pinch Safe Rust abstractions from Alex Gaynor and Geoffrey Thomas.
In those early days, nan scheme was not to rewrite Linux successful Rust; it still isn’t, but to adopt it selectively wherever it tin supply nan astir information use without destabilizing mature C code. In short, caller drivers, subsystems, and helper libraries would beryllium nan first targets,
It was not an easy journey. As Ojeda said successful June 2022, “The kernel is simply a immense task pinch a batch of stakeholders. Since nan beginning, it was clear that adding a 2nd ‘main’ connection to nan kernel would person some method and guidance challenges.”
He would beryllium proven right. Rust take successful nan kernel proved contentious wrong nan kernel community. Some maintainers questioned nan costs of mixing programming paradigms successful Linux. For example, astatine the.2021 Kernel Maintainers Summit Video4Linux maintainer Laurent Pinchart said he did not person clip to “stop everything and study Rust anytime soon.”
Resistance
While Rust began to move in, it still faced resistance. As Dan Williams, elder main technologist connected Intel’s Linux halfway kernel architecture team, said astatine nan Linux Plumbers 2024 meeting, “Kernel maintainers thin to beryllium very conservative. They cognize C backward and forward, but they don’t cognize Rust.” So, they “don’t cognize really to reappraisal this aliases debug that because they don’t understand nan code.”
Mind you, they person reasons. In a conflict complete really to get Rust to activity pinch nan Linux kernel’s Direct Memory Access (DMA) Application Programming Interface (API), nan existent problem boiled down to, arsenic elder Linux kernel developer Ted T’so observed, maintainers don’t person unlimited time, and they don’t want to summation their “code attraction burden.”
Still, contempt nan fuss, much and much programs were ported to Rust. By April 2025, nan Linux kernel contained astir 34 cardinal lines of C code, pinch only 25 1000 lines written successful Rust. At nan aforesaid time, much and much drivers and higher-level utilities were being written successful Rust. For instance, nan Debian Linux distro developers announced that going forward, Rust would beryllium a required dependency successful its foundational Advanced Package Tool (APT),
C’s Not Going Anywhere
This alteration doesn’t mean everyone will request to usage Rust. C is not going anywhere. Still, arsenic respective maintainers told me, they expect to spot galore much drivers being written successful Rust. In particular, Rust looks particularly charismatic for “leaf” drivers (network, storage, NVMe, etc.), wherever nan Rust-for-Linux bindings expose safe wrappers complete kernel C APIs.
Nevertheless, for would-be kernel and systems programmers, Rust’s caller position successful Linux hints astatine a profession way that blends heavy knowing of C pinch fluency successful Rust’s information guarantees. This operation whitethorn specify nan adjacent procreation of low-level improvement work.
YOUTUBE.COM/THENEWSTACK
Tech moves fast, don't miss an episode. Subscribe to our YouTube channel to watercourse each our podcasts, interviews, demos, and more.
Group Created pinch Sketch.
English (US) ·
Indonesian (ID) ·