From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: Handle pml in nested vmx Date: Tue, 2 May 2017 15:04:47 +0200 Message-ID: <969292a4-31a2-3cae-d30f-595e7b40e5a8@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit To: Wincy Van , "kvm@vger.kernel.org" Return-path: Received: from mail-wm0-f44.google.com ([74.125.82.44]:38585 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750740AbdEBNEu (ORCPT ); Tue, 2 May 2017 09:04:50 -0400 Received: by mail-wm0-f44.google.com with SMTP id r190so19309002wme.1 for ; Tue, 02 May 2017 06:04:50 -0700 (PDT) In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 02/05/2017 13:43, Wincy Van wrote: > I find that L2 can't boot in the kvm queue branch. > L0 KVM will inject a nested vmx exit reason 62 (EXIT_REASON_PML_FULL) > to L1, if L1 can't handle this exit reason, it will report a hardware error. > > According to my test, both RHEL 6.x (kernel 2.6.32) and VirtualBox for Windows > will be affected by this bug. > > Here is my workaround: > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 379087a..72784ac 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -8135,6 +8135,8 @@ static bool nested_vmx_exit_handled(struct kvm_vcpu *vcpu) > * the XSS exit bitmap in vmcs12. > */ > return nested_cpu_has2(vmcs12, SECONDARY_EXEC_XSAVES); > + case EXIT_REASON_PML_FULL: > + return false; > case EXIT_REASON_PREEMPTION_TIMER: > return false; > default: > > > If this patch applied, the bug seems to be fixed, but I can't ensure > that L0's pml is working properly in this scene. > > Is this patch doing the right thing (without implement nested pml)? Yes, the patch has been posted already (and will be in 4.12) as "[PATCH] KVM: nVMX: do not leak PML full vmexit to L1" Thanks, Paolo