“I think roughly two-thirds of serious kernel CVEs stem from memory safety bugs. And 30 years of C discipline hadn't moved that number in any other positive direction. So, I think there is a huge motivation for a language that delivers memory safe concepts.”
sputnikintelligence.com
The host asked why the Linux kernel community agreed to accept a second language after more than 30 years of C. Krummrich, a kernel maintainer, gives the security argument for Rust.
I think we're all set. All
…now is the fact that, good grief, the Linux Kernel was implemented almost exclusively in C for over 30 years. So, my sense is that it must have been a really big decision to actually pick Rust for Nova. So, can you walk our listeners through why the community decided to support a second language?
So, I think roughly two-thirds of serious kernel CVEs stem from memory safety bugs. And 30 years of C discipline hadn't moved that number in any other positive direction. So, I think there is a huge motivation for a language that delivers memory safe concepts. And I think Rust is just a good fit for that. It's a system-level language, has no things like garbage collectors, has a minimal runtime, direct memory control, and is C API compatible.
Okay. So, you happen to mention one of the things that I was really interested in. You said memory safety. So, briefly, can you say what is the meaning of memory safety?
It basically means that there is a compiler-enforced guarantee that code only touches memory it actually owns and memory that is still valid and only touches it in a permitted way.
Thanks for that definition. That makes sense. Now, when you mentioned the idea of the driver being like the operating system for the NVIDIA GPU, that made me think of the kinds of bugs that are related to memory safety that you might find in an operating system, like a use after free bug or a…