Return
Rust Meets Linux: Lessons from an Evolving Experiment
DOI:10.1145/3789260.png)
Abstract
En 中文
Linux, developed over the past three decades, has become the cornerstone of modern computing, serving as the foundation for a wide array of applications ranging from large-scale supercomputers to resource-constrained embedded devices. However, this infrastructure has long been plagued by memory and concurrency bugs, primarily due to the permissive nature of memory operations in the C language. The Rust-for-Linux (RFL) project offers a promising solution to address these long-standing safety concerns by integrating Rust's advanced features, such as static ownership and type-checking, into the kernel. This integration could potentially eliminate memory and concurrency bugs while maintaining performance. Although RFL has matured and been merged into the Linux mainline, it remains understudied, and its effectiveness in balancing safety and performance is yet to be fully assessed. In this study, we present the first empirical analysis of RFL to evaluate its current state and benefits, focusing on how Rust integrates with Linux and whether this fusion ensures driver safety without significant overhead. We analyze eight RFL drivers, examining hundreds of issues and pull requests, thousands of GitHub commits, mail exchanges from the Linux mailing list, and over 12,000 discussions on Zulip. Our findings indicate that while Rust mitigates kernel vulnerabilities, it does not completely eliminate them. If not properly managed, Rust's safety features even introduce notable runtime overhead and increased development complexity.
Keywords:
Rust
linux
safety
performance
empirical study
Journal
A
IF:
1.8
Papers:
26
Citations:
1.1K

