早在 1 月份,英特爾工程師就為線性地址空間分離 (LASS) 發布了 Linux 補丁,作為未來英特爾 CPU 引入的一項功能。英特爾工程師今天發布了一組補丁,將 LASS 支持擴展到 KVM 虛擬化領域。

Intel 線性地址空間分離作為即將推出的 CPU 功能在 Intel 編程參考手冊中公開記錄。 LASS 旨在幫助抵禦跨用戶和內核模式的推測地址訪問。

所有 LASS 技術細節都可以通過 Intel PRM 找到對於那些感興趣的人。

今天的新功能是提供 KVM LASS 虛擬化支持的一組六個補丁。如新補丁系列中所述:

當平台有 LASS 能力時,KVM 需要將這個特性暴露給由 CPUID.(EAX=07H.ECX=1):EAX.LASS[bit 6] 枚舉的來賓 VM,並允許來賓按需通過 CR4.LASS[bit 27] 啟用它。對於直接在guest中執行的指令,硬件會進行LASS violation check,而KVM也需要對軟件模擬的指令應用LASS,並向guest注入#GP或#SS fault。

我們測試了 LASS 虛擬化的基本功能,包括 LASS 枚舉和在非根和嵌套環境中的啟用。由於當前的 KVM unittest 框架不兼容內核應該在上半部分運行的 LASS 規則,我們使用內核模塊和應用程序測試來驗證來賓中的 LASS 功能。與數據訪問相關的 x86 仿真器代碼通過強制仿真前綴 (FEP) 機制進行驗證。其他測試用例正在進行中。

我還沒有看到英特爾公開表示他們何時會推出支持線性地址空間分離的處理器,但基於這些補丁的時間安排和英特爾獲得新產品的趨勢功能在發布前就已在主線 Linux 內核中得到體現,如果明年 LASS 與至強可擴展“Granite Rapids”處理器一起推出,我一點也不會感到驚訝。

Categories: IT Info