x86/cpu: Print "VMX disabled" error message iff KVM is enabled
authorSean Christopherson <sean.j.christopherson@intel.com>
Tue, 14 Jan 2020 20:25:45 +0000 (12:25 -0800)
committerBorislav Petkov <bp@suse.de>
Wed, 15 Jan 2020 12:26:50 +0000 (13:26 +0100)
Don't print an error message about VMX being disabled by BIOS if KVM,
the sole user of VMX, is disabled. E.g. if KVM is disabled and the MSR
is unlocked, the kernel will intentionally disable VMX when locking
feature control and then complain that "BIOS" disabled VMX.

Fixes: ef4d3bf19855 ("x86/cpu: Clear VMX feature flag if VMX is not fully enabled")
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200114202545.20296-1-sean.j.christopherson@intel.com
arch/x86/kernel/cpu/feat_ctl.c

index 24a4fdc1ab51de9c826450007ecc7d2e514dbf26..0268185bef944921706c2ad008849a1428180c75 100644 (file)
@@ -133,8 +133,9 @@ update_caps:
 
        if ( (tboot && !(msr & FEAT_CTL_VMX_ENABLED_INSIDE_SMX)) ||
            (!tboot && !(msr & FEAT_CTL_VMX_ENABLED_OUTSIDE_SMX))) {
-               pr_err_once("VMX (%s TXT) disabled by BIOS\n",
-                           tboot ? "inside" : "outside");
+               if (IS_ENABLED(CONFIG_KVM_INTEL))
+                       pr_err_once("VMX (%s TXT) disabled by BIOS\n",
+                                   tboot ? "inside" : "outside");
                clear_cpu_cap(c, X86_FEATURE_VMX);
        } else {
 #ifdef CONFIG_X86_VMX_FEATURE_NAMES