Experimental Rust Support Patches Submitted to Linux Kernel Mailing List

'"The Rust for Linux project, sponsored by Google, has advanced..." reported the Register earlier this week: A new set of patches submitted to the Linux kernel mailing list summarizes the progress of the project to enable Rust to be used alongside C for implementing the Linux kernel. The progress is significant. - ARM and RISC-V architectures are now supported, thanks to work on rustc_codgen_gcc, which is a GCC codegen for rustc. This means that rustc does the initial compilation of Rust code but GCC (the GNU Compiler Collection) does the backend compilation, enabling support for the architectures that GCC supports... - Overall, "the Rust support is still to be considered experimental. However, as noted back in April, support is good enough that kernel developers can start working on the Rust abstractions for subsystems and write drivers and other modules," continued project leader Miguel Ojeda, a computer scientist at CERN in Geneva, Switzerland, now working full time on Rust for Linux... There is substantial support for the project across the industry. Google said in April "we feel that Rust is now ready to join C as a practical language for implementing the kernel" and that it would reduce the number of potential bugs and security vulnerabilities. Google is sponsoring Ojeda to work full time on the project for a year, via the ISRG (Internet Security Research Group), which said last month that it is part of "efforts to move the internet's critical software infrastructure to memory safe code," under the project name Prossimo. The ISRG is also the nonprofit organisation behind Let's Encrypt free security certificates. Ojeda also mentioned that Microsoft's Linux Systems Group is contributing and hopes to submit "select Hyper-V drivers written in Rust." Arm is promising assistance with Rust for Linux on ARM-based systems. IBM has contributed Rust kernel support for its PowerPC processor. More detail is promised at the forthcoming Linux Plumber's Conference in September. In the meantime, the project is on GitHub here. "In addition, we would like to announce that we are organizing a new conference that focuses on Rust and the Linux kernel..." Ojeda posted. "Details will be announced soon." And for context, the Register adds: Linus Torvalds has said on several occasions that he welcomes the possibility of using Rust alongside C for kernel development, and told IT Wire in April that it is "getting to the point where maybe it might be mergeable for 5.14 or something like that."' -- source: https://linux.slashdot.org/story/21/07/10/0447253 Cheers, Peter -- Peter Reutemann Dept. of Computer Science University of Waikato, NZ +64 (7) 577-5304 http://www.cms.waikato.ac.nz/~fracpete/ http://www.data-mining.co.nz/

On Sun, 11 Jul 2021 09:16:26 +1200, Peter Reutemann quoted:
'"The Rust for Linux project, sponsored by Google, has advanced..." reported the Register earlier this week ...'
My favourite quote from <https://www.theregister.com/2021/07/05/rust_for_linux_kernel_project/>: In [Ojeda’s] post, he beg[a]n by explaining that infallible allocations have been removed via a customised "alloc" standard library crate. I just like Rust’s use of that term “infallible” ...

On Sun, 11 Jul 2021 09:16:26 +1200, Peter Reutemann quoted:
There is substantial support for the project across the industry. Google said in April "we feel that Rust is now ready to join C as a practical language for implementing the kernel" and that it would reduce the number of potential bugs and security vulnerabilities.
Could it now be a race between hardware and software? A project from the University of Cambridge called “CHERI” (“Capability Hardware Enhanced RISC Instructions”) adds protection features to existing CPU architectures like RISC-V, ARM and MIPS to close off many potential security holes while allowing the continued use of existing programming languages like C. More here <https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/>.
participants (2)
-
Lawrence D'Oliveiro
-
Peter Reutemann