為 Linux 內(nèi)核添加 Rust 支持的補(bǔ)丁已準(zhǔn)備就緒
7 月 4 日,一套修訂后的補(bǔ)丁被提交至 Linux 內(nèi)核的郵件列表中,該補(bǔ)丁為在 Linux 內(nèi)核中以 Rust 作為輔助編程語言提供了支持,借助 Rust 可以提高 Linux 內(nèi)核和內(nèi)存的安全。
整套補(bǔ)丁包含 17 個(gè)子項(xiàng),不光為 Linux 內(nèi)核提供了初步的 Rust 支持,還提供了一個(gè)驅(qū)動(dòng)實(shí)例,總共有超過 33000 行的新代碼。
Miguel Ojeda 一直在領(lǐng)導(dǎo) "Rust for Linux" 的工作,此前我們也報(bào)道了 Google 為了提升 Linux 內(nèi)核安全性對(duì)該項(xiàng)目進(jìn)行了資助,以使這種編程語言能夠在內(nèi)核中使用。雖然 Linux 5.14 的內(nèi)核合并目前仍在進(jìn)行中,但這套補(bǔ)丁目前并沒有被標(biāo)記上 “Pull Request”,因此預(yù)計(jì)要到下一個(gè)合并周期這套補(bǔ)丁才會(huì)正式登陸 Linux。
Rust for Linux 的啟用現(xiàn)在已經(jīng)達(dá)到了 33000 多行代碼,之所以包含這么多代碼的其中一個(gè)原因是目前在數(shù)據(jù)結(jié)構(gòu)中包括了 Rust 的 "alloc" 標(biāo)準(zhǔn)庫的一個(gè)子集,并在此基礎(chǔ)上添加了一些內(nèi)容。這使得開發(fā)者可以根據(jù)自己的需要進(jìn)行定制。同時(shí)給上游提供所需的時(shí)間來評(píng)估這項(xiàng)變化。最終的目標(biāo)是將內(nèi)核需要的所有東西都放在上游的 "alloc" 中,并將其從內(nèi)核樹中刪除。
這些新補(bǔ)丁的另一個(gè)變化是,在之前的版本中想要編譯 Linux 內(nèi)核需要使用 Rust 編譯器的 nightly 版本,而現(xiàn)在內(nèi)核可以用 Rust 編譯器的 Beta 測(cè)試版和穩(wěn)定版。不過由于對(duì)內(nèi)核的支持確實(shí)需要一些 Rust 編譯器的最新功能,因此 Beta 版和穩(wěn)定版在特定情況下會(huì)出現(xiàn)編譯失敗的情況。
除了支持 AArch64、PowerPC 和 x86_64 之外,ARM 32 位和 RISC-V 現(xiàn)在也被這個(gè) Rust for Linux 所支持。想要了解更多詳情,可以在 kernel mailing list 中找到這些最新的 Rust for Linux 內(nèi)核補(bǔ)丁。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:為 Linux 內(nèi)核添加 Rust 支持的補(bǔ)丁已準(zhǔn)備就緒
本文地址:https://www.oschina.net/news/148964/rust-patches-for-linux-kernel