在最近於烏特勒支舉行的 Rust Week 2026 大會上,負責維護 Linux 核心的主要人員之一Greg Kroah-Hartman登台發表了一番非常明確的演講:Rust 是該專案所需的救贖。
由於每天發布的 CVE(通用漏洞報告)數量驚人,開發團隊面臨幾乎無法處理的漏洞數量。自 2005 年以來一直在處理這些漏洞的Kroah-Hartman 表示,罪魁禍首是 C 語言在記憶體和錯誤處理方面的傳統缺陷——而 Rust 語言承諾將大幅緩解這一問題。
在座無虛席的開發者面前,這位資深程式設計師傳遞的訊息直截了當。他坦言,團隊對 Rust 社群充滿信心,相信他們能夠守護現代運算的基礎架構。對他們而言,測試階段已經結束, Rust 在核心中的應用已成為現實,他們將全力推進 Rust 整合到最關鍵的元件中。
C 程式碼的惡夢與 Rust 的自動解決方案
為了說明他們每天面臨的實際問題,這位開發者回憶起藍牙程式碼中一個長達十五年未被發現的缺陷,原因只是忘記檢查記憶體指標。他也提到Xen程式碼中的一個漏洞,有人忘記釋放一個鎖。這些小小的疏忽日積月累,最終會導致系統崩潰或為網路攻擊敞開大門。 Rust的巨大優勢在於,它能在程式碼編譯過程中,也就是程式碼進入程式碼審查階段之前,就可以捕捉這些錯誤。如果程式設計師忘記檢查錯誤或釋放資源,程式就會直接拒絕編譯。
由於採用這種自動驗證機制,程式碼審查人員無需再浪費時間尋找細枝末節,可以專注於程式的實際邏輯。 Kroah -Hartman 估計,光是這些特性就能消除目前核心 60% 的 bug。此外,這種新的工作方式已經影響到 C 程式碼,迫使程式設計師優化介面並採用更安全的技術,這表明 Rust 的存在本身就已經改進了 Linux。
除了記憶體鎖之外,本次演講還探討了一個基於微軟一條古老格言的重要安全概念:假設任何進入系統的資料都是惡意的。 Kroah-Hartman解釋說,他們正在Rust中開發一種方法,以便在類型系統內部明確地將資料標記為「不受信任」。
這樣一來,編譯器就能強製程式設計師在使用或存取資訊之前先對其進行驗證。這一點在今天尤其重要,因為開發人員不僅不信任用戶編寫的程序,也對硬體本身抱有疑慮,硬體往往存在出廠缺陷,甚至可能被惡意設計。透過將所有驗證集中在一個點上,安全檢查將更加快速且準確。
無需從頭重寫即可實現進化
儘管這位專家熱情洋溢,但他明確指出 Rust 並非萬能。他舉例說,一段用 Rust 編寫的小程式碼原本用於在系統崩潰時顯示二維碼,結果卻因為沒人想到要檢查資料緩衝區的大小而導致記憶體問題。 Rust如果使用不當,缺乏常識,也會出現問題。正因如此,公司裡沒有人考慮重寫 Linux 現有的 36 萬行 C 程式碼。規則很明確:舊程式碼保持不變,新工具只會用於建立現代驅動程式。
目前,核心僅由大約 113.000 行 Rust 程式碼構成,其中大部分是為彌合兩種語言之間的差異而進行的臨時性適配。然而,像 Android 內部通訊系統(Binder)這樣的大型專案已經開始進行過渡,這意味著很快就會有數十億支手機每天運行這段程式碼。
該專案將這種變化視為一種自然演變,隨著新硬體需要使用具有現代安全保證的全新程序,舊的 C 驅動程式將隨著時間的推移而逐漸被淘汰。