Linux 7.2-rc5 出爐:網路修補吃下三分之一版面,USB 改動反超 GPU
LWN.net / Linus Torvalds LKML 公告 · 2026-07-26
背景
Linux 核心每個大版本的開發週期分成兩階段:為期約兩週的合併窗口(merge window)封閉後,便進入每週釋出一次候選版本(rc)的穩定期,通常要到 rc7 或 rc8 前後才正式定案。rc5 代表距離正式版通常只剩兩三週,理論上此時新進的修補應以修正既有問題為主,而非引入大規模變更,這也是這次規模被特別點名的原因。
核心改動
Linus Torvalds 於 2026 年 7 月 26 日(週日)發出 Linux 7.2-rc5 公告,形容這是「相當龐大的 rc5」,並指出上一個 7.1 週期也出現過類似狀況,這種規模似乎已成為新常態。他在信中解釋,規模膨脹主要來自網路樹(networking tree)在前一週因研討會分心而累積的待處理工作,這次集中回補。
網路子系統的修補量超過整體三分之一,而且絕大部分集中在驅動程式端,而非核心協定堆疊本身。另一個值得注意的特徵是,這次 USB 相關修改的數量反而比 GPU 驅動程式還多,一定程度上打破了近幾個週期以顯示卡驅動為修補大宗的慣例。除此之外,本輪 rc5 還涵蓋音效、TTY、區塊裝置(block)、FireWire、測試工具(selftest 與 perf)、檔案系統(SMB、Btrfs)、Rust 綁定與各架構修正,以及文件更新。
影響範圍
這批修補牽涉的裝置驅動橫跨 Intel、MediaTek、Qualcomm、AMD、Broadcom 等多家廠商的網路與無線裝置,對一般使用者的實際影響取決於所用硬體是否落在受影響清單內。Torvalds 最終給出的整體評語是「偏大但沒有東西讓人覺得特別奇怪或可怕」,顯示雖然量體吃緊,審查過程並未發現值得延後釋出的風險。一般發行版使用者通常要等到 7.2 正式版釋出並回灌至穩定套件後才會接觸到這些修補,主動追蹤上游原始碼的使用者則可直接以 rc5 進行測試。
六條 LTS 分支同步進補:Linux 6.18.40 領銜修復 KVM 影子分頁 UAF 與 XFS 直接 I/O 資料損毀
kernel.org 官方 ChangeLog · 2026-07-24
Greg Kroah-Hartman 於 2026 年 7 月 24 日一口氣釋出六個穩定版核心:5.10.261、5.15.212、6.1.178、6.6.145、6.12.97 與 6.18.40,是近期少見的大規模同步穩定版更新。其中最新的 6.18.40 分支單獨就納入了 1,624 筆修補,遠高於同批釋出的其他分支。
核心改動
| 分支 | 版本 | 本次修補數 |
|---|---|---|
| 5.10 LTS | 5.10.261 | 674 |
| 6.6 LTS | 6.6.145 | 1,226 |
| 6.18 stable | 6.18.40 | 1,624 |
同批釋出還包含 5.15.212、6.1.178、6.12.97 三個分支,官方 ChangeLog 並未單獨列出各自的修補統計數字。翻閱 6.18.40 的官方 ChangeLog,開頭段落就包含多筆安全與穩定性修補:ksmbd 修正了 durable reconnect 過程中的 double-bind race,ksmbd_reopen_durable_fd() 若在此競態下被觸發可能導致 double-free;bpf 子系統新增檢查,在 BPF LSM 尚未初始化前拒絕建立 BPF_MAP_TYPE_INODE_STORAGE map,避免核心恐慌(panic)。RDMA 的 bnxt_re 驅動也修補了並發存取下重複配置 work completion(WC)分頁的問題,並將 dpi 變數初始化為零以避免複製到未初始化的值。
本次釋出週期同時修補了兩個具名 CVE:CVE-2026-46113 是 KVM/x86 影子分頁(shadow paging)中的一個 use-after-free 瑕疵,CVSS 評分達 8.8,影響 5.15 以前(含)的分支;CVE-2026-64600 則是 XFS 在直接 I/O(direct I/O)路徑下,資料 fork mapping 查詢 refcount B-tree 時邏輯出錯,可能導致資料損毀。
影響範圍
- schedutil cpufreq 調頻器與
mm/vmscan記憶體回收路徑調整 xfrm_input()的網路路徑輸入強化- ath11k、ath12k 無線網卡堆疊多項修正
- 仍在進行中的 Rust DMA 抽象層工作
- BPF 在 s390 架構上 verifier 與 JIT 產生結果不一致,同時被列為回歸與安全性問題處理
由於 KVM 影子分頁 UAF 影響範圍涵蓋 5.15 以前的分支,執行虛擬化工作負載、尚未切換到較新分支的環境應優先確認是否受影響並套用對應版本更新;XFS 直接 I/O 的問題則主要衝擊大量使用 O_DIRECT 存取的儲存工作負載。
Rust 1.97.1 釋出:回溯 LLVM 誤編譯修正,堵住潛伏近十個版本的既有缺陷
The Rust Programming Language Blog · 2026-07-16
Rust 團隊於 2026 年 7 月 16 日發布 1.97.1,這是一個聚焦單一問題的修補版本:回溯上游 LLVM 對某個最佳化路徑的修正,同時在 Rust 自身停用 1.97.0 中一項提高該錯誤觸發機率的變更。追蹤此問題的 rust-lang/rust#159035 顯示,受影響程式碼在最佳化編譯(-O)下會被產生語意錯誤的機器碼,實際觀察到的案例是執行期段錯誤(segmentation fault)。
核心改動
根據官方公告,這個誤編譯(miscompilation)問題本身至少從 1.87 版就已存在於 LLVM 後端,但長期處於很難被實際觸發的邊緣狀態。1.97.0 引入的一項變更提高了該最佳化路徑被走到的機率,使得原本罕見的錯誤變得更容易在真實程式碼中現形。追蹤 issue 中的最小重現案例是一組大小不一的巢狀 enum,搭配 pattern matching 與最佳化編譯,理論上應輸出 None,實際卻導致段錯誤。
該問題在 issue tracker 上被標記為 A-LLVM(LLVM 相關程式碼產生)、I-miscompile(正確的 Rust 程式碼被編譯成錯誤的機器碼)與 regression-from-stable-to-stable。回歸測試顯示 1.96.1 版沒有此問題,而 1.97.0 穩定版、1.98.0 beta 與 1.99.0 nightly 皆可重現,代表這是一個同時存在於三個發布 channel 的既有缺陷。修補策略是雙管齊下:一是拉入 LLVM 上游對該最佳化本身的修正,二是在 rustc 端直接關閉那項把觸發機率提高的變更。
影響範圍
由於誤編譯的本質是編譯器產生語意錯誤的機器碼而非編譯失敗,受影響的程式在建置階段不會出現任何警告或錯誤訊息,只會在執行期出現非預期行為甚至當機,實務上很難單靠既有測試覆蓋率排除風險。官方建議所有使用 1.97.0 的使用者盡快升級,執行 rustup update stable 即可取得 1.97.1;團隊也在公告中重申歡迎在 beta 與 nightly channel 上提前測試,以便在類似問題流入 stable 前及早攔截。