[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b073e961-4faf-40b0-8c7a-6525748ec971@amd.com>
Date: Tue, 7 Jan 2025 13:59:35 +1100
From: Alexey Kardashevskiy <aik@....com>
To: Tom Lendacky <thomas.lendacky@....com>,
Ashish Kalra <Ashish.Kalra@....com>, seanjc@...gle.com, pbonzini@...hat.com,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, x86@...nel.org, hpa@...or.com,
john.allen@....com, herbert@...dor.apana.org.au, davem@...emloft.net
Cc: michael.roth@....com, dionnaglaze@...gle.com, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org,
linux-coco@...ts.linux.dev
Subject: Re: [PATCH v2 3/9] crypto: ccp: Reset TMR size at SNP Shutdown
On 4/1/25 04:00, Tom Lendacky wrote:
> On 12/27/24 03:07, Alexey Kardashevskiy wrote:
>> On 17/12/24 10:58, Ashish Kalra wrote:
>>> From: Ashish Kalra <ashish.kalra@....com>
>>>
>>> When SEV-SNP is enabled the TMR needs to be 2MB aligned and 2MB sized,
>>> ensure that TMR size is reset back to default when SNP is shutdown as
>>> SNP initialization and shutdown as part of some SNP ioctls may leave
>>> TMR size modified and cause subsequent SEV only initialization to fail.
>>>
>>> Signed-off-by: Ashish Kalra <ashish.kalra@....com>
>>> ---
>>> drivers/crypto/ccp/sev-dev.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
>>> index 0ec2e8191583..9632a9a5c92e 100644
>>> --- a/drivers/crypto/ccp/sev-dev.c
>>> +++ b/drivers/crypto/ccp/sev-dev.c
>>> @@ -1751,6 +1751,9 @@ static int __sev_snp_shutdown_locked(int *error,
>>> bool panic)
>>> sev->snp_initialized = false;
>>> dev_dbg(sev->dev, "SEV-SNP firmware shutdown\n");
>>> + /* Reset TMR size back to default */
>>> + sev_es_tmr_size = SEV_TMR_SIZE;
>>
>>
>> It is declared as:
>>
>> static size_t sev_es_tmr_size = SEV_TMR_SIZE;
>>
>> and then re-assigned again in __sev_snp_init_locked() to the same value of
>> SNP_TMR_SIZE. When can sev_es_tmr_size become something else than
>> SEV_TMR_SIZE? I did grep 10b2c8a67c4b (kvm/next) and 85ef1ac03941
>> (AMDESE/snp-host-latest) but could not find it. Stale code may be? Thanks,
>
> When SNP has not been initialized using SNP_INIT(_EX), the TMR size must
> be 1MB in size (SEV_TMR_SIZE), but when SNP_INIT_(EX) has been executed,
> the TMR must be 2MB (SNP_TMR_SIZE) in size. This series is working towards
ah my bad, it is SEV_ vs SNP_, I am sort of used to SEV_ vs SEV_SNP_ and
missed the distinction. sorry for the noise. Thanks,
> removing the initialization of SNP and/or SEV from the CCP initialization
> and moving it to KVM, which means that we can have SNP init'd, then
> shutdown and then SEV init'd. In this case, the TMR size must be the
> SEV_TMR_SIZE value, so it is being reset after an SNP shutdown.
>
> Thanks,
> Tom
>
>>
>>
>>> +
>>> return ret;
>>> }
>>>
>>
--
Alexey
Powered by blists - more mailing lists