[Bug 1218231] New: Hw virtualization enabled in BIOS of Intel Skylake i5-6200U, but lscpu says "VMX" disabled
https://bugzilla.suse.com/show_bug.cgi?id=1218231 Bug ID: 1218231 Summary: Hw virtualization enabled in BIOS of Intel Skylake i5-6200U, but lscpu says "VMX" disabled Classification: openSUSE Product: openSUSE Distribution Version: Leap 16.0 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-bugs@opensuse.org Reporter: el@horse64.org QA Contact: qa-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- I boot with these kernel options for CPU security: "mitigations=auto,nosmt mds=full,nosmt", on a laptop with Skylake i5-6200U. However, in the BIOS/UEFI options I enabled all virtualization features of this CPU. This means VT-x/VMX should be available, since Skylake supports this according to product pages. The kernel's iTLB multihit mitigation documentation does NOT suggest that any mitigation option will ever disable VT-x/VMX fully. Therefore, I would strongly expect it to be enabled on this system with this configuration. Now here comes the problem: $ lscpu | grep VMX Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT disabled $ cat /sys/devices/system/cpu/vulnerabilities/itlb_multihit KVM: Mitigation: VMX disabled Something seems to be wrong here. As a semi naive uninformed user, I am guessing the following possible options for what happened: Option A: VMX is actually disabled by the kernel through some mitigation option. In this case this is a documentation issue, since the kernel help explaining this "KVM: Mitigation: VMX disabled" text ( https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html ) is written like no mitigation would actively disable it, suggesting "VMX disabled" is only meant to show when the BIOS/UEFI turned it off. So the help page should then say what may mess with VMX on a kernel level beyond BIOS/UEFI. Option B: VMX is actually enabled, and the iTLB mitigation is set to "Split huge pages" (this would as far as I can tell be the "correct" option for this system). In this case, there seems to be some mostly benign iTLB info output bug. Option C: VMS is actually enabled, and the iTLB mitigation is NOT active and the device is vulnerable. This potential outcome is why I marked this as SECURITY ISSUE until it can be ruled out, since if that is true then lscpu clearly tells me I'm safe while I'm actually not. So this outcome could trick admins into making expensive hardening missteps. Option D: Maybe I'm just not smart enough to use my BIOS/UEFI, lol, or I misunderstand VMX/VT-x fundamentally. I'm not a kernel developer, after all. Vaguely related, this server fault post suggests this may also happen on many distributions: https://serverfault.com/questions/1073247/if-kvm-is-working-why-does-vmx-sho... (Not entirely sure though if it's the same cause) First seen with Fedora's 5.13.15-200.fc34.x86_64, still present with OpenSUSE slowroll's 6.5.9-1-default. Steps to reproduce: 1. Boot an Intel Skylake computer with Fedora installed. Ensure all virtualization features are enabled in the UEFI/BIOS options. 2. Once Linux has booted, change /etc/default/grub to add in "mitigations=auto,nosmt mds=full,nosmt" and update your generated grub2 files, and reboot. 3. Once inside Linux again, check "lscpu" output and /sys/devices/system/cpu/vulnerabilities/itlb_multihit output. Expected output would be something else than "VMX disabled". -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1218231 https://bugzilla.suse.com/show_bug.cgi?id=1218231#c1 --- Comment #1 from ell1e <el@horse64.org> --- Created attachment 871454 --> https://bugzilla.suse.com/attachment.cgi?id=871454&action=edit lscpu output in full -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1218231 https://bugzilla.suse.com/show_bug.cgi?id=1218231#c2 --- Comment #2 from ell1e <el@horse64.org> --- This bug was originally filed at https://bugzilla.redhat.com/show_bug.cgi?id=2005094 where it has been sitting hidden from the public with no action for years, so I decided maybe it would be better to make it public. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1218231 https://bugzilla.suse.com/show_bug.cgi?id=1218231#c11 --- Comment #11 from ell1e <el@horse64.org> ---
Maybe there's no microcode (from Intel, I mean) for your CPU yet?
Can you elaborate on the "yet", is there info whether one will be available? I tried to contact Intel about this during the recent days, but their support sems to think I'm asking some warranty question, and due to the CPUs age refuses to answer. I was also sent to the "OS developer" which would be here I guess, but I assume only Intel can provide these microcode updates so that seems nonsensical to me. Maybe I got their answers wrong, but it didn't really seem like Intel support understood the workflow with microcode updates on Linux. In any case, I would be curious to know if anyone has any insight on this. (And my apologies, I know this would be more of a question for Intel, but oh well.) -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1218231 https://bugzilla.suse.com/show_bug.cgi?id=1218231#c12 ell1e <el@horse64.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #12 from ell1e <el@horse64.org> --- (I guess it makes sense to close this for now, since the VMX mitigations seem to work, and the initial bug was about them possibly not working.) -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1218231 https://bugzilla.suse.com/show_bug.cgi?id=1218231#c13 --- Comment #13 from ell1e <el@horse64.org> --- After more poking, I actually managed to get a concrete response from intel. I was told that if you got a Skylake Core i5-6200U, apparently there won't be a fix and from my understanding, they expect you to either accept that or literally throw away your working hardware. Good on the kernel for being transparent here. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com