The debate regarding the increasing adoption of Rust drivers in the Linux kernel, replacing portions of the established C and C++ codebase, shows no signs of abating. Industry experts like Josh Aas anticipate a continued steady rise in Rust driver implementation, primarily due to the superior memory security features this programming language offers compared to C.
For some time now, discussions have been brewing within the Linux kernel community concerning the expanding presence of Rust-based drivers in this widely deployed open-source kernel. Advocates highlight enhanced memory security, while critics, especially developers who prefer working with C or C++, are concerned about the mixed codebase.
This controversy has prompted numerous veteran Linux kernel developers to depart in recent months, eventually requiring Linux pioneer Linus Torvalds to step in to defuse tensions. Additionally, a dedicated “Rust kernel policy” was established to provide clear guidelines regarding the use of this programming language within the Linux kernel.
New endorsements for Rust drivers
The discourse continues with fresh statements of support from experts who welcome Rust’s integration. Recently, Josh Aas, head of the memory security project Prossimo at the Internet Research Group, spoke out strongly in favor of the further integration of Rust drivers into the open source kernel.
He is pleased that the benefits of Rust, such as better memory security, are increasingly being implemented in various subsystems of the Linux kernel. He also notes that many companies are now actively implementing Rust in the kernel.
According to Aas, Rust is being progressively deployed in diverse Linux subsystems, including PHY drivers, the null block driver, the DRM panic screen, the QR code generator, the Android binder driver, the Apple AGX GPU driver, the NVMe driver, and the Nova GPU driver.
He predicts that one of these drivers will be incorporated into the mainline Linux kernel within the next 12 to 18 months. This integration would enhance the security of products and services running on Linux with Rust drivers, ultimately benefiting end users.
Additional fuel to the fire
Josh Aas intensified the debate by stating that developers who prioritize memory security would like to see C and C++ in the Linux kernel eventually disappear. While acknowledging these languages will remain in use and maintained for the foreseeable future, he highlights the structural problems they create regarding memory security.
He emphasizes that memory vulnerabilities will continue to plague internet security, but maintains there are viable solutions: developing code in programming languages inherently free from these vulnerabilities. Rust, in his view, represents one such alternative. Aas argues that by making this transition, security problems would resolve themselves naturally.
Also read: Linux developers argue over Rust in kernel