Received: by 2002:ac0:8845:0:0:0:0:0 with SMTP id g63csp944882img; Thu, 28 Feb 2019 10:19:30 -0800 (PST) X-Google-Smtp-Source: APXvYqw/TfJH+PM1vfU/YAJV+hBWElhCJ3BHEKFKVGUeqRMyoldjsbNKNf+0KUAOSxsyOrz6eGoT X-Received: by 2002:a17:902:1:: with SMTP id 1mr691066pla.276.1551377970773; Thu, 28 Feb 2019 10:19:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551377970; cv=none; d=google.com; s=arc-20160816; b=EJpHjMkgrnBQHgInbYR2kJn20YFi64O3C18wfyZhPDA/ut24knnfY3Jt5GyeEh1qbi xs6+0QjCM/ajTz7i/dywJCS0tTCrUMsiDMSQfqkcb7NgdQ5/VJ7LBWQTfcI94tf3W8Gh Mx3HZo3xPXu6MhmY8ykALIarjq28XbrwZw5pOKVzMHO8Tp96kP1iAwVndckXFDlQ7iXJ tS2N6i/jtQCuMIfZLRhbfBq87n4gCk2ILTkW81FtGNsqFbYq5so5aehgRRmGzmZfYmyZ Z84Gq2uOBbzIztYmZkxne2uTmCIqhlc33TApwXTCOWHAw04JCL1iGxZ6ATW+ZmczZNXG wFAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=d3gO8nEm2NCliUHeFtE9Qg4HPhqlb1yIAL20hazjXUQ=; b=zTjHDMmywSi/YTvjsC2ueqdB6d012LMwSVbuyOcMjRuyRf3Kkqq1qhA1/Fx8XHVECX JAsPW1E2gAIvTTJxmFmwZ9JE3E5/R4Ba25OP5A99TeR4Ipi7SxOCJ8SXfzeYlj2UTsFg GKmgLtDZvvSQo9gGTjQQaBeoF1gQHtOzjsHQVIZLFQLC3Hv+/P0lnAStWmgatJH8Cmp/ Ow7tuMLkn673lZsyqm6AUl/43VEkmTrQQnVr7NMNB05gmUM2bQyBqbc8N1b/p9dQLtJp KDgUixAXwvtPpec6FKWKDFa/UJb0NruL63mmCter/JjBtDRpLH5GEYqGRcaJrg9fkNgu 01pw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 75si17653844pgb.230.2019.02.28.10.19.14; Thu, 28 Feb 2019 10:19:30 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732428AbfB1QZN (ORCPT + 99 others); Thu, 28 Feb 2019 11:25:13 -0500 Received: from mga01.intel.com ([192.55.52.88]:41269 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726269AbfB1QZN (ORCPT ); Thu, 28 Feb 2019 11:25:13 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Feb 2019 08:25:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,423,1544515200"; d="scan'208";a="121554965" Received: from sjchrist-coffee.jf.intel.com (HELO linux.intel.com) ([10.54.74.181]) by orsmga008.jf.intel.com with ESMTP; 28 Feb 2019 08:25:12 -0800 Date: Thu, 28 Feb 2019 08:25:12 -0800 From: Sean Christopherson To: Yang Weijiang Cc: pbonzini@redhat.com, rkrcmar@redhat.com, jmattson@google.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, mst@redhat.com, yu-cheng.yu@intel.com, Zhang Yi Z Subject: Re: [PATCH v3 7/8] KVM:X86: Add XSS bit 11 and 12 support for CET xsaves/xrstors. Message-ID: <20190228162512.GG6166@linux.intel.com> References: <20190225132716.6982-1-weijiang.yang@intel.com> <20190225132716.6982-8-weijiang.yang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190225132716.6982-8-weijiang.yang@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 25, 2019 at 09:27:15PM +0800, Yang Weijiang wrote: > For Guest XSS, right now, only bit 11(user states) and bit 12 > (supervisor states) are supported, if other bits are being set, > need to modify KVM_SUPPORTED_XSS macro to have support. The changelog should describe what the change does directly. Referencing specific bits implies that the code is explicitly checking for said bits, which it does not. And there's no need to advise readers on how to add more bits in the future, e.g. the KVM_SUPPORTED_XSS macro may not exist the next time new bits are added. Just cover what the patch does and why. Something like: KVM: x86: Allow the guest to set supported bits in XSS ...now that KVM supports setting CET related bits. Previously, KVM did not support setting any bits in XSS and so hardcoded its check to inject a #GP if the guest attempted to write a non-zero value to IA32_XSS. > > Signed-off-by: Zhang Yi Z > Signed-off-by: Yang Weijiang > --- > arch/x86/kvm/vmx.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index d32cee9ee079..68908ed7b151 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -47,6 +47,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -4336,12 +4337,13 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) > case MSR_IA32_XSS: > if (!vmx_xsaves_supported()) > return 1; > + > /* > - * The only supported bit as of Skylake is bit 8, but > - * it is not supported on KVM. > + * Check bits being set are supported in KVM. I'd drop the comment altogether, it's pretty obvious from the code that were checking which bits are supported. > */ > - if (data != 0) > + if (data & ~kvm_supported_xss()) > return 1; > + > vcpu->arch.ia32_xss = data; > if (vcpu->arch.ia32_xss != host_xss) > add_atomic_switch_msr(vmx, MSR_IA32_XSS, > -- > 2.17.1 >