From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754224AbcFPLtZ (ORCPT ); Thu, 16 Jun 2016 07:49:25 -0400 Received: from mx2.suse.de ([195.135.220.15]:48989 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751562AbcFPLtV (ORCPT ); Thu, 16 Jun 2016 07:49:21 -0400 Date: Thu, 16 Jun 2016 13:49:16 +0200 From: Borislav Petkov To: Haozhong Zhang Cc: kvm@vger.kernel.org, Paolo Bonzini , rkrcmar@redhat.com, Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, Gleb Natapov , Tony Luck , Andi Kleen , Ashok Raj Subject: Re: [PATCH v2 1/3] KVM: VMX: move msr_ia32_feature_control to vcpu_vmx Message-ID: <20160616114916.GA20058@pd.tnic> References: <20160616060531.30028-1-haozhong.zhang@intel.com> <20160616060531.30028-2-haozhong.zhang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160616060531.30028-2-haozhong.zhang@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 16, 2016 at 02:05:29PM +0800, Haozhong Zhang wrote: > msr_ia32_feature_control will be used for LMCE and not depend only on > nested anymore, so move it from struct nested_vmx to struct vcpu_vmx. > > Signed-off-by: Haozhong Zhang > --- > arch/x86/kvm/vmx.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 57ec6a4..6b63f2d 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -421,7 +421,6 @@ struct nested_vmx { > struct pi_desc *pi_desc; > bool pi_pending; > u16 posted_intr_nv; > - u64 msr_ia32_feature_control; > > struct hrtimer preemption_timer; > bool preemption_timer_expired; > @@ -602,6 +601,8 @@ struct vcpu_vmx { > bool guest_pkru_valid; > u32 guest_pkru; > u32 host_pkru; > + > + u64 msr_ia32_feature_control; > }; > > enum segment_cache_field { > @@ -2907,7 +2908,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) > case MSR_IA32_FEATURE_CONTROL: > if (!nested_vmx_allowed(vcpu)) > return 1; > - msr_info->data = to_vmx(vcpu)->nested.msr_ia32_feature_control; > + msr_info->data = to_vmx(vcpu)->msr_ia32_feature_control; Since this moves out of struct nested_vmx, that check above it: if (!nested_vmx_allowed(vcpu)) should not influence it anymore, no? Ditto for the rest. -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --