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 pinctrl framework 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-dcp driver β€” 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=y have 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