[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <161174d013dff42ddfd2950fe33a8054f45c223e.camel@intel.com>
Date: Wed, 24 May 2023 17:24:23 +0000
From: "Edgecombe, Rick P" <rick.p.edgecombe@...el.com>
To: "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"john.allen@....com" <john.allen@....com>
CC: "thomas.lendacky@....com" <thomas.lendacky@....com>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"Yang, Weijiang" <weijiang.yang@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Christopherson,, Sean" <seanjc@...gle.com>,
"x86@...nel.org" <x86@...nel.org>, "bp@...en8.de" <bp@...en8.de>
Subject: Re: [RFC PATCH v2 6/6] KVM: SVM: Add CET features to supported_xss
On Wed, 2023-05-24 at 15:53 +0000, John Allen wrote:
> If the CPU supports CET, add CET XSAVES feature bits to the
> supported_xss mask.
>
> Signed-off-by: John Allen <john.allen@....com>
> ---
> v2:
> - Remove curly braces around if statement
> ---
> arch/x86/kvm/svm/svm.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
> index 6afd2c44fdb6..cee496bee0a9 100644
> --- a/arch/x86/kvm/svm/svm.c
> +++ b/arch/x86/kvm/svm/svm.c
> @@ -5070,6 +5070,10 @@ static __init void svm_set_cpu_caps(void)
> boot_cpu_has(X86_FEATURE_AMD_SSBD))
> kvm_cpu_cap_set(X86_FEATURE_VIRT_SSBD);
>
> + if (kvm_cpu_cap_has(X86_FEATURE_SHSTK))
> + kvm_caps.supported_xss |= XFEATURE_MASK_CET_USER |
> + XFEATURE_MASK_CET_KERNEL;
> +
Is setting XFEATURE_MASK_CET_KERNEL here ok? The host kernel will not
support XFEATURE_MASK_CET_KERNEL. I guess after this there is a small
window of time where host IA32_XSS could have non-host supported
supervisor state.
Sort of separately, how does SVM work with respect to saving and
restoring guest supervisor CET state (I mean the CET_S stuff)?
I'm not sure there is any problem, but just wondering how it all works.
Thanks.
Powered by blists - more mailing lists