Re: [PATCH] KVM: SEV: Disable SEV-SNP support on initialization failure

From: Tom Lendacky
Date: Fri May 09 2025 - 13:58:02 EST


On 5/9/25 12:52, Kalra, Ashish wrote:
>
> On 5/9/2025 12:01 PM, Paluri, PavanKumar wrote:
>>
>>
>> On 5/8/2025 5:52 PM, Ashish Kalra wrote:
>>> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>>>
>>> During platform init, SNP initialization may fail for several reasons,
>>> such as firmware command failures and incompatible versions. However,
>>> the KVM capability may continue to advertise support for it.
>>>
>>> The platform may have SNP enabled but if SNP_INIT fails then SNP is
>>> not supported by KVM.
>>>
>>> During KVM module initialization query the SNP platform status to obtain
>>> the SNP initialization state and use it as an additional condition to
>>> determine support for SEV-SNP.
>>>
>>> Co-developed-by: Sean Christopherson <seanjc@xxxxxxxxxx>
>>> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
>>> Co-developed-by: Pratik R. Sampat <prsampat@xxxxxxx>
>>> Signed-off-by: Pratik R. Sampat <prsampat@xxxxxxx>
>>> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
>>> ---
>>> arch/x86/kvm/svm/sev.c | 43 +++++++++++++++++++++++++++++++++---------
>>> 1 file changed, 34 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
>>> index ada53f04158c..a6abdb26f877 100644
>>> --- a/arch/x86/kvm/svm/sev.c
>>> +++ b/arch/x86/kvm/svm/sev.c
>>> @@ -2934,6 +2934,32 @@ void __init sev_set_cpu_caps(void)
>>> }
>>> }
>>>
>>> +static bool sev_is_snp_initialized(void)
>>
>> s/sev_is_snp_initialized/is_sev_snp_initalized looks better.
>>
>
> Actually the convention is sev_is_xx().

Except that it is a static, so doesn't need to start with sev_. See
is_pfn_range_shared(), max_level_for_order(), etc. in the same file.

Thanks,
Tom

>
>>> +{