2 min Devops

Rust emerges as Linux’s second official language

Rust emerges as Linux’s second official language

The latest patch for Linux seems to have made Rust the official second language for the open source OS.

The Google-powered effort to make Rust a second programming language in Linux kernel development after C is quickly becoming a reality. Key to the project is Spanish developer Miguel Ojeda. He has been leading the charge to bring Mozilla-hatched systems programming language Rust to the Linux kernel.

Google sponsors Ojeda via the ISRG (Internet Security Research Group, best known for Let’s Encrypt) to work on Rust for Linux and other security efforts. Although security is not the only reason, people consider Rust for the Linux Kernel a security project.

As ISRG executive director Josh Aas explained, “by making it possible to write parts of the Linux kernel in Rust, which is memory-safe, we can entirely eliminate memory safety vulnerabilities from certain components, such as drivers.”

This week Ojeda posted on LKML about the new Linux kernel patch. “This is the patch (v2) to add support for Rust as a second language to the Linux kernel,” he wrote.

Rust support is already “good enough” for drivers and other modules

The biggest change in these new releases is that the Rust code proposed for the kernel now relies on the stable Rust compiler rather than the beta compilers. Going forward, Rust on Linux will be migrating with every new stable Rust compiler release.

By doing this, as Linux kernel and lead Rust on Linux, developer Miguel Ojeda, put it, “By upgrading the compiler, we have been able to take off the list a few unstable features we were using.” This, in turn, means Rust on Linux will be more stable. 

Ojeda noted that Red Hat has come up with a support statement for the project, saying “there is interest in using Rust for kernel work that Red Hat is considering.”

Ojeda admitted in his post that the Rust support is still experimental. But, he added, “support is good enough that kernel developers can start working on the Rust abstractions for subsystems and write drivers and other modules.”