У меня в 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 как отключенный для целей уязвимости multihit?
Пример 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 выглядит присутствующим и не отключенным биосом. Уязвимость присутствует, но теперь vmx не используется, поэтому просто отключен. когда запускается какой-то kvm и использует vmx, ситуация меняется:
$ cat /sys/devices/system/cpu/vulnerabilities/itlb_multihit
KVM: Mitigation: Split huge pages
Это означает, что уязвимость присутствует, но смягчается kvm путем разделения страниц.
решение2
Короче говоря, даже если смягчение уязвимости multihit может временно отключить VMX, VT-x вашей системы все еще включен и работает нормально. Успешная работа KVM и вашей виртуальной машины указывает на то, что VT-x используется для аппаратного ускорения, как и ожидалось. Поэтому нет необходимости беспокоиться об отключении VMX из-за уязвимости multihit.