Re: [PATCH RFC v7 37/64] KVM: SVM: Add KVM_SNP_INIT command

From: Jarkko Sakkinen
Date: Sat Dec 31 2022 - 10:17:11 EST


On Sat, Dec 31, 2022 at 02:47:29PM +0000, Jarkko Sakkinen wrote:
> A couple of fixups.
>
> On Sat, Dec 31, 2022 at 02:27:57PM +0000, Jarkko Sakkinen wrote:
> > diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
> > index 6c4fdcaed72b..462c9aaa2e7e 100644
> > --- a/drivers/crypto/ccp/sev-dev.c
> > +++ b/drivers/crypto/ccp/sev-dev.c
> > @@ -1381,6 +1381,12 @@ static int __sev_snp_init_locked(int *error)
> > if (sev->snp_initialized)
> > return 0;
> >
> > + if (!sev_version_greater_or_equal(SNP_MIN_API_MAJOR, SNP_MIN_API_MINOR)) {
> > + dev_dbg(sev->dev, "SEV-SNP support requires firmware version >= %d:%d\n",
> > + SNP_MIN_API_MAJOR, SNP_MIN_API_MINOR);
> > + return -ENODEV;
>
> return 0;
>
> It is not a failure case anyway.
>
> > + }
> > +
> > /*
> > * The SNP_INIT requires the MSR_VM_HSAVE_PA must be set to 0h
> > * across all cores.
> > @@ -2313,25 +2319,19 @@ void sev_pci_init(void)
> > }
> > }
> >
> > + rc = sev_snp_init(&error, true);
> > + if (rc != -ENODEV)
>
>
> if (rc)
>
> Because other wise there would need to be nasty "if (rc && rc != ENODEV)"
> so that this does not happen:
>
> [ 9.321588] ccp 0000:49:00.1: SEV-SNP: failed to INIT error 0x0
>
> BR, Jarkko

This patch (not dependent on the series) is kind of related to my
feedback. Since platform init can span from quite many locations
it would be useful to get errors reported from all locations:

https://www.lkml.org/lkml/2022/12/31/175

Would be IMHO good to have this in the baseline when testing SNP init
functionality.

BR, Jarkko