Rust in Linux β From Experiment to First Mainline Drivers
Two and a half years after Rust-for-Linux was merged as an experimental tree, the 2026 kernel cycle is the first where Rust-based drivers ship in the default build of some distros. Pin control, GPIO, and several PHY drivers now have production-quality Rust implementations merged upstream. The graphics and networking subsystems are next on the runway, with the Rust abstraction layers (kernel::, pin_init, alloc) stabilizing faster than maintainers expected.
Whatβs actually landed
- Pin control + GPIO subsystems β fully Rust-implemented drivers merged in 6.13/6.14, including the upstream
pinctrlframework bindings - PHY network drivers β the Asix ax88796b and a Broadcom driver are the first netdev-class drivers written entirely in Rust, behind
CONFIG_RUST_PHY - Apple Silicon
apple-dcpdriver β proves the abstraction layer can host drivers with non-trivial state machines PinInit<T>β the safe pinned-initialization API is now the recommended path for any new struct holding self-referential pointers
Whatβs still in the slow lane
- Filesystems β VFS abstractions are proving the hardest surface to expose safely; expect a multi-year wait for a production FS
- Scheduler β a Rust core scheduler is on the roadmap, but not in the 6.x series
- Stable Rust toolchain pinning β the kernel still pins to a specific Rust nightly, which means distros must ship both stable + a custom nightly. Fedora and openSUSE are leading the packaging work
Why it matters
- Memory-safety bugs in the kernel are the highest-leverage class of CVE. A 2024 Google study found ~70% of kernel CVEs are memory unsafety; Rust eliminates the class at compile time
- New driver authors donβt have to learn the entire C kernel idiomatic style to contribute β they need to learn the Rust abstraction layer instead, which is narrower
- The cultural shift is the real story: kernel developers who would never have read a Rust RFC in 2022 are now reviewing Rust patches on LKML
Caveats
- The Rust path is additive, not replacement. C is not going away; expect a two-decade coexistence
- Compile times for
allmodconfig + CONFIG_RUST=yhave increased roughly 18% β CI farms will feel this - Out-of-tree vendors (Android, GPU blobs) are nowhere near this transition. The bulk of phones in 2026 still run a 100% C kernel