為Linux內核添加Rust支持的最新補丁已經出現
今天是獨立日,但Linux的許多美國開發人員並沒有閒著,一套修訂後的補丁已經生效,正為Linux內核中的Rust提供支持,作為一種輔助編程語言,用於提高安全性尤其是內存訪問的安全是最重要的領域。
這套共計17個補丁為Linux內核提供了初步的Rust支持,並提供了一個驅動實例,在其早期形式中總共有超過33000行的新代碼。
Miguel Ojeda一直在領導”Rust for Linux”的工作–現在這個項目得到了Google的資助以使這種編程語言能夠在內核中使用。雖然5.14內核合併窗口目前正在進行,但這並沒有被標記為拉動請求階段,估計要到下一個或者更晚的周期才會登陸。這是繼4月份發出的”徵求意見”補丁之後的又一進展。
Rust for Linux的啟用現在已經達到了33000多行代碼,部分原因是他們目前在樹中包括了Rust的”alloc”標準庫的一個子集,為內核目的進行了修改。最終,開發者們將嘗試把變化放到上游的alloc crate中,但現在是在內核樹中進行,其他需要的庫也是在內核樹中進行的。
這些新補丁的另一個變化是,之前的版本需要使用Rust編譯器的每夜版本,而現在內核可以用beta和穩定版的Rustc編譯。然而,內核支持確實需要一些Rust編譯器的功能,目前被上游視為不穩定的來源。
除了AArch64、PowerPC和x86_64之外,ARM 32位和RISC-V體系現在也被Rust for Linux所支持。
除了Linux內核中的Rust管道外,Rust支持的最初用戶是Rust中的Android Binder IPC實現,這仍被認為是一項正在進行的工作。
這些最新的Rust for Linux內核補丁可以在內核郵件列表中找到:
https://lore.kernel.org/lkml/ 20210704202756.29107-1-ojeda@kernel.org /