如果 KVM 正常運作,為什麼 VMX 顯示為停用?

如果 KVM 正常運作,為什麼 VMX 顯示為停用?

我在 BIOS 中啟用了 VT-x。我正在運行 qemu/kvm/Manjaro。lscpu

$ lscpu
Architecture:            x86_64
  Model name:            Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Flags: ... vmx ... 
Virtualization features:
  Virtualization:        VT-x
Vulnerabilities:         
  Itlb multihit:         KVM: Mitigation: VMX disabled

此外,

$ sudo rdmsr -f 2:0 0x3A
5

意思就是

  • VMX 設定已鎖定
  • VMX 在 SMX(「安全模式擴充」)狀態下被停用
  • VMX 在 SMX 狀態之外啟用

這個答案給了我希望:如果kvm加載,則 VMX 正在工作。事實上,qemu隨著kvm它的加速器運作得很好(或至少看起來)。那麼,為什麼它會顯示 VMX 因多重攻擊漏洞而被停用呢?

運行範例qemu

$ qemu-system-x86_64 -nographic -vga none -net none -nodefaults -machine q35 -accel kvm -cpu host -smp sockets=1,dies=1,cores=2,threads=2 -m 512M ...

QEMU 6.0.0 monitor - type 'help' for more information
(qemu) info kvm
info kvm
kvm support: enabled

到目前為止,來賓(在本例中為 pfSense)運作良好。

答案1

謝謝你的問題...這對我來說也很有趣...所以,讀完這篇文章後,https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html 很明顯:vmx 看起來存在並且沒有被 BIOS 停用。存在漏洞,但現在 vmx 未在使用中,因此只是被停用。當某些 kvm 運行並使用 vmx 時,情況發生了變化:

 $ cat /sys/devices/system/cpu/vulnerabilities/itlb_multihit 
 KVM: Mitigation: Split huge pages

也就是說,該漏洞確實存在,但可以透過 kvm 透過拆分頁面來緩解。

答案2

簡而言之,即使多重攻擊漏洞緩解措施可能會暫時停用 VMX,您系統的 VT-x 仍然啟用並正常運作。 KVM 和虛擬機器的成功運作表明 VT-x 正在按照預期用於硬體加速。因此,無需擔心報告的多次命中漏洞導致 VMX 停用的情況。

相關內容