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