Re: [PATCH 0/2] Fix issue with not starting nesting guests on my system

From: Maxim Levitsky
Date: Wed May 27 2020 - 11:17:53 EST


On Tue, 2020-05-26 at 18:13 -0700, Sean Christopherson wrote:
> On Sat, May 23, 2020 at 07:14:53PM +0300, Maxim Levitsky wrote:
> > On my AMD machine I noticed that I can't start any nested guests,
> > because nested KVM (everything from master git branches) complains
> > that it can't find msr MSR_IA32_UMWAIT_CONTROL which my system
> > doesn't support
> > at all anyway.
> >
> > I traced it to the recently added UMWAIT support to qemu and kvm.
> > The kvm portion exposed the new MSR in KVM_GET_MSR_INDEX_LIST
> > without
> > checking that it the underlying feature is supported in CPUID.
> > It happened to work when non nested because as a precation kvm,
> > tries to read each MSR on host before adding it to that list,
> > and when read gets a #GP it ignores it.
> >
> > When running nested, the L1 hypervisor can be set to ignore unknown
> > msr read/writes (I need this for some other guests), thus this
> > safety
> > check doesn't work anymore.
> >
> > V2: * added a patch to setup correctly the X86_FEATURE_WAITPKG kvm
> > capability
> > * dropped the cosmetic fix patch as it is now fixed in kvm/queue
> >
> > Best regards,
> > Maxim Levitsky
> >
> > Maxim Levitsky (2):
> > kvm/x86/vmx: enable X86_FEATURE_WAITPKG in KVM capabilities
> > kvm/x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally
>
> Standard scoping in the shortlog is "KVM: VMX:" and "KVM: x86:".
Noted and I will use it from now on.
Thanks!

Best regards,
Maxim Levitsky

>
> > arch/x86/kvm/vmx/vmx.c | 3 +++
> > arch/x86/kvm/x86.c | 4 ++++
> > 2 files changed, 7 insertions(+)
> >
> > --
> > 2.26.2
> >
> >