From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wincy Van Subject: Re: Handle pml in nested vmx Date: Wed, 3 May 2017 09:53:47 +0800 Message-ID: References: <969292a4-31a2-3cae-d30f-595e7b40e5a8@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: "kvm@vger.kernel.org" To: Paolo Bonzini Return-path: Received: from mail-qt0-f193.google.com ([209.85.216.193]:35807 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751233AbdECByI (ORCPT ); Tue, 2 May 2017 21:54:08 -0400 Received: by mail-qt0-f193.google.com with SMTP id o36so22880285qtb.2 for ; Tue, 02 May 2017 18:54:08 -0700 (PDT) In-Reply-To: <969292a4-31a2-3cae-d30f-595e7b40e5a8@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, May 2, 2017 at 9:04 PM, Paolo Bonzini wrote: > > > 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" > OK, missed that, thank you Paolo :-) Wincy