KVM: X86: Allow userspace to define the microcode version
authorWanpeng Li <wanpengli@tencent.com>
Wed, 28 Feb 2018 06:03:31 +0000 (14:03 +0800)
committerRadim Krčmář <rkrcmar@redhat.com>
Thu, 1 Mar 2018 21:32:44 +0000 (22:32 +0100)
commit518e7b94817abed94becfe6a44f1ece0d4745afe
tree8509ae1036d7d17ef3e13f2679a9724a1dd11d99
parent66421c1ec340096b291af763ed5721314cdd9c5c
KVM: X86: Allow userspace to define the microcode version

Linux (among the others) has checks to make sure that certain features
aren't enabled on a certain family/model/stepping if the microcode version
isn't greater than or equal to a known good version.

By exposing the real microcode version, we're preventing buggy guests that
don't check that they are running virtualized (i.e., they should trust the
hypervisor) from disabling features that are effectively not buggy.

Suggested-by: Filippo Sironi <sironi@amazon.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Liran Alon <liran.alon@oracle.com>
Cc: Nadav Amit <nadav.amit@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c