But also it brings many good questions about Rust design and how we could use the "Rust for Linux" patchset to improve both the kernel and the language.
For now the main problems being:
- The alloc model of Rust which is based on runtime-panic on allocation failure, which is greatly incompatible with the Linux kernel, and actually is the biggest blocking point for merging the patchset (according to Linus himself so, yeah it's quite blocking actually)
The "faillible-alloc" API would gains greatly from kernel devs reviews and would allow to get a good API design
- The Rust Model Model, based on C++20/C11 MM spec, is actually not great for sync-related code, as it clashes with the kernel own's memory model for this stuff (LKMM)
Many kernel devs seems to be kinda joyful about helping Rust improving its memory model and going away from the "de facto" actual standard which is mostly imposed and the Rustonomicon page about this is actually great to see how it's actually that bad:
https://doc.rust-lang.org/nomicon/atomics.html(TL;DR: Informatics is shit and we failed every bit of this)