Rust in the Linux Kernel at Scale: Two Years of Merge Commits Later, What the Kernel Mailing List Drama Actually Tells Us

The Numbers Tell a Story Worth Reading

If you’ve been paying attention to kernel development over the past eighteen months, you’ve noticed something odd. The Rust-in-the-kernel conversation shifted. It stopped being theoretical. Around early 2026, the Linux kernel crossed a threshold that makes it impossible to dismiss Rust as an experiment anymore: over 600,000 lines of Rust code, spread across drivers, filesystem abstractions, and core subsystem bindings. That’s not a rounding error. That’s not a proof of concept someone’s uncle wrote in a weekend. That’s infrastructure.

Remember when this all started? Kernel 6.1, late 2022. We got roughly 13,000 lines of Rust. Everyone held their breath. The skeptics dusted off their keyboards. The enthusiasts refreshed their RSS feeds hourly. Four years later, we’ve grown that initial footprint by a factor of more than forty. The acceleration itself is the story here, because acceleration in the kernel means something. It means maintainers are buying in. It means the friction isn’t theoretical anymore—it’s either real and being solved, or it never was.

Why the Mailing List Fights Actually Matter

The kernel mailing list has always been where the real work happens. It’s adversarial by design. People yell at each other with genuine technical conviction. That’s not a bug, it’s the feature that keeps bad ideas from shipping. So when you see threads exploding about Rust abstractions in 2025, when a veteran like Ted Ts’o posts detailed technical critiques about hidden performance regressions in I/O paths that benchmarks aren’t catching, that’s not noise. That’s the immune system working.

Ts’o’s specific concern about compile-time complexity creating subtle performance degradation is the kind of thing that matters precisely because it’s not obvious. You can run your benchmarks. Everything looks fine. But then in production, under specific workload patterns, something feels off. The margin between good and great in kernel code is often measured in basis points. When someone with his track record flags a concern, the appropriate response isn’t dismissal. It’s investigation. And it’s happening.

What’s genuinely interesting is that these aren’t debates about whether Rust belongs in the kernel anymore. Those debates happened. They’re settled. This is debugging. This is engineering. This is the hard part that comes after you’ve won the philosophical argument.

The Evidence Actually Backs the Move

Here’s where the pedantic engineer in me gets genuinely excited. A 2025 study from the University of Waterloo took 150 kernel CVEs from the 2020-2024 window and categorized them. Sixty-seven percent fell into memory safety categories that Rust’s ownership model structurally prevents. Not all. Not ninety-five percent. But two-thirds. That’s not some aspirational number that lives in promotional material. That’s real vulnerability data.

Think about what that means in practical terms. If you’re a security engineer responsible for auditing kernel code, Rust doesn’t eliminate your job. But it fundamentally changes the class of bugs you need to worry about. You’re not hunting use-after-free bugs that mysteriously appear because someone forgot they had a shared reference. You’re hunting logic errors. That’s a better problem to have.

The smartphone evidence is even starker. Google’s Android team published numbers showing that memory safety vulnerabilities dropped below twenty-four percent of total CVEs for the first time, while the proportion of new OS-level code written in memory-safe languages hit seventy-seven percent. Most of that is Rust. That’s not an experiment in a lab. That’s what happens when you take memory safety seriously at the platform level. The vulnerabilities don’t disappear, but the low-hanging fruit evaporates.

The Real Inflection Point: GPU Drivers and All-Rust Subsystems

The moment that proved this stopped being academic was when Linus confirmed accelerating Rust driver contributions in a December 2025 mailing list post. But the real headline was the Nova GPU driver for NVIDIA’s open-source firmware. An all-Rust driver for modern graphics hardware. You know what that means? It means someone trusted Rust enough to handle the complexity of GPU command streams, memory management for discrete hardware, and real-time constraints. That’s not a filesystem abstraction. That’s not a wrapper around existing C code. That’s core driver logic where one mistake can hang the system or corrupt state catastrophically.

The existence of Nova isn’t proof that Rust is ready for everything. It’s proof that Rust is ready for hard problems. When the NVIDIA open-source team decides their GPU driver is easier to maintain and less likely to have security issues in Rust than in C, they’re making an economic bet. Economics wins kernel adoption. Ideology doesn’t.

What Comes Next in the Noise

The next five years are going to be messy. The abstractions will get refined. The performance concerns will either disappear or become known constraints we accept. The tooling will get better. New problems will emerge that nobody anticipated. Linus will probably send an angry email about something. The maintainers will have strong opinions. This is normal.

If you’re following this from the outside, stop waiting for the verdict. The verdict is already in. Sixty-seven percent of historical CVEs prevented by design. Seventy-seven percent of new Android code in memory-safe languages. Over 600,000 lines of production Rust in the kernel right now. These aren’t hypotheticals anymore. If you want to understand where systems programming is heading, you need to understand Rust and you need to understand why the people making these decisions are making them.

Start with the Linux kernel Rust documentation. It’s dense, but it’s honest. Then go read Google Security Blog on memory safety in Android. Not because you need to agree with every decision, but because understanding the reasoning behind these decisions is how you figure out what’s coming next. The mailing list drama isn’t noise. It’s documentation. And right now, the documentation says memory safety at scale works when you design for it from the beginning.