Explore the progress and developments in the Rust for Linux project, which aims to add Rust language support to the Linux kernel. Learn about the advancements made since the initial support was merged into kernel v6.1, including safe abstractions around kernel functionality and subsystems, as well as infrastructure and tooling changes. Discover core components like Opaque, CString, and ScopeGuard, and understand kernel primitives such as Arc, Lock, and Mutex. Gain insights into the pinned-init API, KUnit integration for Rust doctests, and the klint tool for extra static analysis. Examine the project's in-tree development workflow, including branch setup, unsoundness issues policy, and Rust version upgrade policy. Delve into future plans and discuss broader challenges facing the project, seeking input from the community on potential solutions.
Overview
Syllabus
Rust for Linux - Miguel Ojeda
Taught by
Linux Plumbers Conference