Software:Rust for Linux
The mascot of Linux, Tux, superimposed over Rust's logo | |
| Developer(s) |
|
|---|---|
| Initial release | October 1, 2022 |
| Repository | github |
| Written in | Rust |
| Operating system | Linux |
| Available in | English |
| License | GPL-2.0-only with Linux-syscall-note. |
| Website | https://rust-for-linux.com/ |
Rust for Linux is an ongoing project started in 2020 to add Rust as a programming language that can be used within the Linux kernel software, which has been written using C and assembly only. This project aims to leverage Rust's memory safety to reduce bugs when writing kernel drivers.[1] Progress has been slower than hoped by both Rust advocates and Linus Torvalds, lead of the Linux kernel project.[2] In December 2023, the first drivers written in Rust were accepted, and released in version 6.8.[3][4] In December 2025, it was announced that Rust in the Linux kernel is no longer experimental.[5]
History
The Linux kernel has been primarily written in C and assembly languages since its first release in 1991. Around 1997, the addition of C++ was considered and experimented upon for two weeks before being scrapped.[6] Rust was created in 2006 and combines the performance of low-level programming languages (such as C) with a focus on memory safety and a user-friendly tool set and syntax.[7]
An example Linux external loadable kernel module created using the Rust language was published by Taesoo Kim in 2013.[8][9]
The Rust for Linux project was announced in 2020 in the Linux kernel mailing list with goal of adding Rust as a programming language that could be used within the Linux project.[10] At the Open Source Summit 2022, Linus Torvalds stated that the incorporation of the project's work could begin as soon as the Linux 5.20 release, later named as Linux 6.0.[11] The first release candidate for Linux 6.0 was created on 14 August 2022, without Rust support. In the release notes for Linux 6.0-rc1, Torvalds expressed his intention for adding Rust support, "I actually was hoping that we'd get some of the first rust infrastructure, and the multi-gen LRU VM, but neither of them happened this time around."[12][13] On 19 September 2022, an article from ZDNet revealed an email from Linus Torvalds stating that "Unless something odd happens, it [Rust] will make it into 6.1".[14]
In October 2022, a pull request for accepting the implementation for Rust for Linux was approved by Torvalds.[15] As of Linux 6.1, support was intentionally left minimal in order to allow developers to test the feature.[16]
Rust for Linux developers created a new library "pinned-init" to safely and fallibly initialize memory that must not be relocated.[3] It was first included in Linux 6.4,[17] and been improved in later versions.[3]
Linux 6.10 included RISC-V processor architecture support for Rust.[18]
In July 2024 a change was accepted into Linux to support multiple Rust versions for the first time, allowing compiling using both 1.78 (Released 2 May, 2024) and 1.79 (Released 13 June, 2024).[19]
As of August 2024[update], Rust for Linux depends on unstable features of the Rust compiler.[1]
In December 2025, during the Linux Kernel Developers Summit, it was decided to promote Rust from experimental to a core part of the kernel.[5] This expands the core languages in the Linux kernel to C, assembly and Rust.
Usage

Linux kernel contains the following Rust components:
- rnull, a drop-in replacement for the null device[3][20]
- ASIX AX88772A and Realtek Generic FE-GE physical layer network drivers[3][4][21][22]
- QR code DRM kernel panic handler[19][23]
Other notable projects using Rust in Linux include:
- tarfs, a tar filesystem[3][24]
- NVM Express (NVMe) device driver[3]
- Android Binder IPC driver[10][3][25]
- Asahi Linux's Apple silicon AGX GPU DRM driver[26][3][27]
- PuzzleFS, a container filesystem[3][28][24]
- Read-only ext2 filesystem[24]
- Nova, intended to create a Rust nouveau Nvidia GPU driver, is being developed on the freedesktop.org project infrastructure[29][30]
See also
- LynxOS
- Redox OS
References
- ↑ 1.0 1.1 Vaughan-Nichols, Steven. "Rust in Linux: Where we are and where we're going next". zdnet. https://www.zdnet.com/article/rust-in-linux-where-we-are-and-where-were-going-next/.
- ↑ "Linus Torvalds talks AI, Rust adoption, and why the Linux kernel is 'the only thing that matters'". zdnet. 23 August 2024. https://www.zdnet.com/article/linus-torvalds-talks-ai-rust-adoption-and-why-the-linux-kernel-is-the-only-thing-that-matters/.
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 Li, Hongyu; Guo, Liwei; Yang, Yexuan; Wang, Shangguang; Xu, Mengwei (1 July 2024). "An Empirical Study of Rust-for-Linux: The Success, Dissatisfaction, and Compromise". ;login:. https://www.usenix.org/publications/loginonline/empirical-study-rust-linux-success-dissatisfaction-and-compromise.
- ↑ 4.0 4.1 Das, Ankush (11 March 2024). "Linux Kernel 6.8 Released! Goes Big On Hardware Support". news.itsfoss.com. https://news.itsfoss.com/linux-kernel-6-8-release/.
- ↑ 5.0 5.1 Leemhuis, Thorsten (Dec 10, 2025). "Linux Kernel: Rust Support Officially Approved". heise.de. https://www.heise.de/en/news/Linux-Kernel-Rust-Support-Officially-Approved-11109808.html.
- ↑ Claburn, Thomas (2022-06-23). "Linus Torvalds says Rust is coming to the Linux kernel" (in en). https://www.theregister.com/2022/06/23/linus_torvalds_rust_linux_kernel/.
- ↑ Perkel, Jeffrey M. (2020-12-01). "Why scientists are turning to Rust" (in en). Nature 588 (7836): 185–186. doi:10.1038/d41586-020-03382-2. PMID 33262490. Bibcode: 2020Natur.588..185P. https://www.nature.com/articles/d41586-020-03382-2. Retrieved 2022-08-04.
- ↑ Vaughan-Nichols, Steven J. (5 October 2022). "Rust in the Linux Kernel". thenewstack.io. https://thenewstack.io/rust-in-the-linux-kernel/.
- ↑ Ojeda, Miguel (23 June 2022). "Memory Safety for the World's Largest Software Project". https://www.memorysafety.org/blog/memory-safety-in-linux-kernel/.
- ↑ 10.0 10.1 Simone, Sergio De (2021-04-27). "Using Rust to Write Safe and Correct Linux Kernel Drivers" (in en). https://www.infoq.com/news/2021/04/rust-linux-kernel-development/.
- ↑ Vaughan-Nichols, Steven (2022-06-27). "Linus Torvalds is cautiously optimistic about bringing Rust into Linux kernel's next release" (in en). https://www.zdnet.com/article/linus-torvalds-is-cautiously-optimistic-about-bringing-rust-into-the-linux-kernels-next-release/.
- ↑ Tung, Liam (2022-08-15). "Linux 6.0 arrives with performance improvements and more Rust coming" (in en). https://www.zdnet.com/article/linux-6-0-arrives-with-performance-improvements-and-more-rust-coming/.
- ↑ Torvalds, Linus (2022-08-14). "Linux 6.0-rc1". https://lwn.net/Articles/904681/.
- ↑ Vaughan-Nichols, Steven (2022-09-19). "Linus Torvalds: Rust will go into Linux 6.1" (in en). https://www.zdnet.com/article/linus-torvalds-rust-will-go-into-linux-6-1/.
- ↑ Proven, Liam (2022-10-05). "Linux 6.1: Rust to hit mainline kernel" (in en). https://www.theregister.com/2022/10/05/rust_kernel_pull_request_pulled/.
- ↑ Corbet, Jonathan. "Next steps for Rust in the kernel". https://lwn.net/Articles/908347/.
- ↑ Larabel, Michael. "More Rust Code Readied For Linux 6.4". https://www.phoronix.com/news/Linux-6.4-More-Rust.
- ↑ Knop, Dirk (July 27, 2024). "Linux-Kernel 6.10: Verbesserte Dateisysteme und neue Treiber". heise.de. https://www.heise.de/news/Linux-Kernel-6-10-Verbesserte-Dateisysteme-und-neue-Treiber-9815386.html.
- ↑ 19.0 19.1 Leemhuis, Thorsten (Aug 29, 2024). "Linux kernel gets "blue screens" with QR code". heise.de. https://www.heise.de/en/news/Linux-kernel-gets-blue-screens-with-QR-code-9851774.html.
- ↑ Larabel, Michael. "Rust Null Block Driver Published To Begin Experimenting With Rust For Linux Storage". https://www.phoronix.com/news/Rust-Null-Block-Driver.
- ↑ Larabel, Michael. "The First Rust-Written Network PHY Driver Set To Land In Linux 6.8". https://www.phoronix.com/news/Linux-6.8-Rust-PHY-Driver.
- ↑ "Rust abstractions for network PHY drivers". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d6beb085e8ff3d9547df8a5a55f15ccc7552c5d0.
- ↑ "Add a QR code panic screen". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cb5164ac43d0fc37ac6b45cabbc4d244068289ef.
- ↑ 24.0 24.1 24.2 Larabel, Michael. "Microsoft Engineer Ports EXT2 File-System Driver To Rust". https://www.phoronix.com/news/Rust-VFS-Linux-V2-Now-With-EXT2.
- ↑ Filho, Wedson Almeida (April 14, 2021). "Rust in the Linux kernel". https://security.googleblog.com/2021/04/rust-in-linux-kernel.html.
- ↑ Corbet, Jonathan (2 September 2024). "Whither the Apple AGX graphics driver?". LWN.net. https://lwn.net/SubscriberLink/988438/4171601a819405c4/.
- ↑ Larabel, Michael. "Initial Rust DRM Abstractions, AGX Apple DRM Driver Posted For Review". https://www.phoronix.com/news/Rust-DRM-AGX-RFC-Preview.
- ↑ Larabel, Michael. "PuzzleFS Continues Striving To Be The Best File-System For Containers". https://www.phoronix.com/news/PuzzleFS-Development-Continues.
- ↑ Das, Ankush (21 March 2024). "Red Hat Unveils a Rust-based 'Nova' Driver: A Better Nouveau for Nvidia GPUs". news.itsfoss.com. https://news.itsfoss.com/red-hat-nova-driver/.
- ↑ Larabel, Michael. "Red Hat's Long, Rust'ed Road Ahead For Nova As Nouveau Driver Successor". https://www.phoronix.com/news/Red-Hat-Nova-Rust-Abstractions.
