On Fri, Aug 5, 2022 at 8:44 AM Miguel Ojeda <ojeda@xxxxxxxxxx> wrote: > > Having most of the new files in place, we now enable Rust support > in the build system, including `Kconfig` entries related to Rust, > the Rust configuration printer and a few other bits. Cool, I'm finally happy with this patch. Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Tested-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> I built and boot tested with CONFIG_RUST enabled, played with CLIPPY=1, and built all of the new make targets for rust. Thanks for all of the work that went into these series from all of the authors and Miguel for your determination. Keep it up! I've left comments on other patches (and I will leave one on rust/compiler_builtins.rs because I still don't like that approach) and there may be small cleanups we can do here or there, but I think we're in good shape to land something and start iterating on it upstream. I'll file bugs in your issue tracker for small nits I come across, but so far, it's been more-so questions. --- LWN recently demonstrated that most fixes are in relatively younger code: https://lwn.net/Articles/902854/ An analysis of 0day exploits found in the wild in 2021 showed that for Android, researchers are attacking drivers: https://googleprojectzero.blogspot.com/2022/04/the-more-you-know-more-you-know-you.html Multiple independent reports cite high numbers (70% or more) of memory safety issues in native code: https://www.memorysafety.org/docs/memory-safety/ I have colleagues that are developing a microkernel (they then use a memory unsafe language for their kernel as well :^P ) to move as much functionality as possible into lower levels of privilege. It's interesting and I wish them well, but I also prefer more incremental approaches to existing solutions, and suspect the way of the monolith to still give us the best performance. I learned an interesting word the other day: Corten Steel from the YouTube channel Practical Engineering (it's a great channel on Civil Engineering): https://www.youtube.com/watch?v=2RbiCOFffRs&t=523s transcript: >> I should also note that there are even steel alloys whose rust is protective! Weathering steel (sometimes known by its trade name of Corten Steel) is a group of alloys that are naturally resilient against rust because of passivation. A special blend of elements, including manganese, nickel, silicon, and chromium don’t keep the steel from rusting, but they allow the layer of rust to stay attached, forming a protective layer that significantly slows corrosion. My hope is that Rust may provide a layer of Corten Steel to the Linux kernel to help us protect newly written driver code from memory safety related issues, so that Linux remains the best option for developing products for the next 30 years. I also suspect it may bring in a whole new generation of hackers to the kernel ecosystem. That is my blessing for Rust in the Linux kernel. -- Thanks, ~Nick Desaulniers