Rust for Linux

Summary

Rust for Linux is a series of patches to the Linux kernel that adds Rust as a second programming language to C for writing kernel components.

Rust for Linux
Developer(s)
  • Community contributors
  • Miguel Ojeda
Repositorygithub.com/Rust-for-Linux/linux
Written inRust
Available inEnglish
LicenseGPL-2.0-only with Linux-syscall-note.
Websitehttps://rust-for-linux.com/

History edit

The Linux kernel has been primarily written in C and assembly language since its first release in 1991. Around 1997, the addition of C++ was considered and experimented upon for two weeks before being scrapped.[1] 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.[2]

The Rust for Linux project was announced in 2020 in the Linux kernel mailing list with goals of leveraging Rust's memory safety to reduce bugs when writing kernel drivers.[3] 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.[4] 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."[5][6] 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".[7]

In October 2022, a pull request for accepting the implementation for Rust for Linux was approved by Torvalds.[8] As of Linux 6.1, support was intentionally left minimal in order to allow developers to test the feature.[9]

References edit

  1. ^ Claburn, Thomas (2022-06-23). "Linus Torvalds says Rust is coming to the Linux kernel". The Register. Archived from the original on 2022-07-28. Retrieved 2022-07-25.
  2. ^ Perkel, Jeffrey M. (2020-12-01). "Why scientists are turning to Rust". Nature. 588 (7836): 185–186. Bibcode:2020Natur.588..185P. doi:10.1038/d41586-020-03382-2. PMID 33262490. S2CID 227251258. Archived from the original on 2022-05-06. Retrieved 2022-08-04.
  3. ^ Simone, Sergio De (2021-04-27). "Using Rust to Write Safe and Correct Linux Kernel Drivers". InfoQ. Archived from the original on 2022-09-22. Retrieved 2022-08-04.
  4. ^ Vaughan-Nichols, Steven (2022-06-27). "Linus Torvalds is cautiously optimistic about bringing Rust into Linux kernel's next release". ZDNet. Archived from the original on 2022-08-12. Retrieved 2022-08-04.
  5. ^ Tung, Liam (2022-08-15). "Linux 6.0 arrives with performance improvements and more Rust coming". ZDNet. Archived from the original on 2022-09-07. Retrieved 2022-09-07.
  6. ^ Torvalds, Linus (2022-08-14). "Linux 6.0-rc1". LWN.net. Retrieved 2022-09-07.
  7. ^ Vaughan-Nichols, Steven (2022-09-19). "Linus Torvalds: Rust will go into Linux 6.1". ZDNET. Archived from the original on 2023-01-19. Retrieved 2022-09-20.
  8. ^ Proven, Liam (2022-10-05). "Linux 6.1: Rust to hit mainline kernel". The Register. Archived from the original on 2022-10-12. Retrieved 2022-10-12.
  9. ^ Corbet, Jonathan. "Next steps for Rust in the kernel". LWN.net. Archived from the original on 2023-06-08. Retrieved 2023-05-03.