[PATCH 0/2] Fix breakage from adding MSR_IA32_UMWAIT_CONTROL

From: Maxim Levitsky
Date: Wed May 20 2020 - 12:07:50 EST


Currently code in kvm_get_supported_msrs always
returns this msr as supported by KVM, however it
is not supported at all on AMD and it is only supported
on few select Intel systems.

This happened to work in native virtualization case,
because KVM's code also tries to read these msrs,
and on an exception drops them from the supported msr list.

However when running nested, and outer hypervisor set
to ignore unknown msrs, the read from this msr doesn't get
an excption, and thus KVM thinks that this msr should be on
supported msr list.

I don't think we should rely on exception to check if a feature
is supported since that msr can be even in theory assigned to something
else on AMD for example.

Also I included a cosmetic fix for an issue I found in the same function.

Best regards,
Maxim Levitsky

Maxim Levitsky (2):
kvm: cosmetic: remove wrong braces in kvm_init_msr_list switch
kvm/x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally

arch/x86/kvm/x86.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

--
2.26.2