The Linux kernel is at the heart of today's Internet. Unfortunately, because it's written in C, it has a long history of memory safety vulnerabilities.
Securing the Linux kernel is imperative if we want a secure Internet. One of the best ways we can do that is by making it possible to write Linux kernel modules (e.g. drivers) in a memory safe language. To be honest, when we first starting thinking about how to bring memory safety to the Linux kernel, the problem seemed intractable.
Then we learned that about the Rust for Linux project. Miguel Ojeda and Alex Gaynor have done incredible work, both technically and in terms of making the case for Rust in the Linux kernel.
What We've Done
- Miguel Ojeda was initially funded to work on Rust for Linux full time from April 2021 through April 2022. Miguel's contract was renewed for April 2022 through April 2023.
- Gary Guo was funded to work part time on Rust compiler features and tools needed to support Rust in the Linux kernel between October 2022 and February 2023.
Rust support has been merged into the Linux kernel!
See the links below for getting up to speed on this work.
Miguel is making great progress.
We're hoping to support getting some of the first production-ready drivers written in Rust into the kernel, perhaps starting with an NVMe driver.
From our Blog
Klint: Compile-time Detection of Atomic Context Violations for Kernel Rust Code
The klint tool will help facilitate adoption of Rust in the Linux kernel.