From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH] KVM: nVMX: Replace kvm_set_cr0 with vmx_set_cr0 in load_vmcs12_host_state Date: Tue, 30 Apr 2013 14:46:04 +0300 Message-ID: <20130430114604.GA22125@redhat.com> References: <5129361A.7090608@web.de> <517CF7F6.3070405@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Marcelo Tosatti , kvm , "Nadav Har'El" , "Nakajima, Jun" , Avi Kivity To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:55406 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760274Ab3D3LqQ (ORCPT ); Tue, 30 Apr 2013 07:46:16 -0400 Content-Disposition: inline In-Reply-To: <517CF7F6.3070405@web.de> Sender: kvm-owner@vger.kernel.org List-ID: On Sun, Apr 28, 2013 at 12:20:38PM +0200, Jan Kiszka wrote: > On 2013-02-23 22:35, Jan Kiszka wrote: > > From: Jan Kiszka > > > > Likely a typo, but a fatal one as kvm_set_cr0 performs checks on the > > state transition that may prevent loading L1's cr0. > > > > Signed-off-by: Jan Kiszka > > --- > > arch/x86/kvm/vmx.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > > index 26d47e9..94f3b66 100644 > > --- a/arch/x86/kvm/vmx.c > > +++ b/arch/x86/kvm/vmx.c > > @@ -7429,7 +7429,7 @@ static void load_vmcs12_host_state(struct kvm_vcpu *vcpu, > > * fpu_active (which may have changed). > > * Note that vmx_set_cr0 refers to efer set above. > > */ > > - kvm_set_cr0(vcpu, vmcs12->host_cr0); > > + vmx_set_cr0(vcpu, vmcs12->host_cr0); > > /* > > * If we did fpu_activate()/fpu_deactivate() during L2's run, we need > > * to apply the same changes to L1's vmcs. We just set cr0 correctly, > > > > This one still applies, is necessary for nested unrestricted guest mode, > and I'm still convinced it's an appropriate way to fix the bug. How to > proceed? > What check that is done by kvm_set_cr0() fails? -- Gleb.