今天晚些時候發布的Linux 5.16-rc4內核的”x86/緊急”變更集有一些Spectre
V1的修復,因為去年的內核提交導致其SWAPGS處理方面的部分混亂,這些修正也將可能被回傳到相關的穩定版內核系列。在阿里巴巴工程師Lai
Jiangshan的幫助下,一些圍繞Spectre V1 SWAPGS緩解的重要修正今天在主線內核中登陸。
修正內容首先是對paranoid_entry路徑中的內核條目SWAPGS的柵欄缺失的補丁。去年對主線內核的修改導致Spectre V1 SWAPGS緩解措施的退步,因為該路徑中缺少柵欄。想了解補丁所有的細節可以訪問這裡:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=x86/urgent&id=1367afaa2ee90d1c956dfc224e199fcb3ff3f8cc
關於Linux內核的Spectre V1 SWAPGS緩解處理的更多背景信息在2019年的原始代碼中概述,當時在CVE-2019-1125公開后,Spectre V1 SWAPGS緩解措施被合併了。
今天的拉動請求的一部分也是對使用正確的柵欄宏的這個修復。現在,正確的柵欄宏被用於確保嘗試行為被阻止。
Lai Jiangshan今天的第三個補丁對SWAPGS路徑上發現的潛在堆棧clobbering也有一個重要的Xen修復:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=x86/urgent&id=5c8f6a2e316efebb3ba93d8c1af258155dcf5632
SWAPGS柵欄問題和其他x86修復問題今天已經作為該請求的一部分被送入。Spectre V1 SWAPGS漏洞/緩解措施影響了Ivy Bridge和較新的英特爾CPU,Alder Lake仍然依賴SWAPGS/usercopy屏障。