From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH] KVM: x86: remove vcpu's CPL check in host invoked vcpu's xcr set process Date: Tue, 18 Jun 2013 15:34:23 +0200 Message-ID: <51C061DF.4000007@redhat.com> References: <51C013A1.2070100@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: KVM , "mst@redhat.com" , Luonengjun , Zanghongyong , "Huangweidong (C)" , "Wangrui (K)" To: "Zhanghaoyu (A)" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:18036 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932206Ab3FRNee (ORCPT ); Tue, 18 Jun 2013 09:34:34 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: Il 18/06/2013 14:39, Zhanghaoyu (A) ha scritto: >> Applied to master, but check your setup because I had to do so manually. >> Your patch has 2 tabs + 1 space for each indentation level (??), the file only has one tab. >> >> This time the patch was pretty simple and may even be worth having in 3.9, but next time I'd ask you to resubmit. >> >> Can you write a testcase for kvm-unit-tests? >> >> Paolo > > So sorry for above bad format patch, this time the format is OK, but > I'm not sure could the format be changed in transmission? This time it is okay. Paolo > > Signed-off-by: Zhang Haoyu > --- > arch/x86/kvm/x86.c | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 094b5d9..aa7bda1 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -582,8 +582,6 @@ int __kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr) > if (index != XCR_XFEATURE_ENABLED_MASK) > return 1; > xcr0 = xcr; > - if (kvm_x86_ops->get_cpl(vcpu) != 0) > - return 1; > if (!(xcr0 & XSTATE_FP)) > return 1; > if ((xcr0 & XSTATE_YMM) && !(xcr0 & XSTATE_SSE)) > @@ -597,7 +595,8 @@ int __kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr) > > int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr) > { > - if (__kvm_set_xcr(vcpu, index, xcr)) { > + if ((kvm_x86_ops->get_cpl(vcpu) != 0) || > + __kvm_set_xcr(vcpu, index, xcr)) { > kvm_inject_gp(vcpu, 0); > return 1; > } >