crypto: ccp - Ensure psp_ret is always init'd in __sev_platform_init_locked()
authorPeter Gonda <pgonda@google.com>
Mon, 10 Jan 2022 21:18:37 +0000 (13:18 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 28 Jan 2022 05:51:11 +0000 (16:51 +1100)
Initialize psp_ret inside of __sev_platform_init_locked() because there
are many failure paths with PSP initialization that do not set
__sev_do_cmd_locked().

Fixes: e423b9d75e77: ("crypto: ccp - Move SEV_INIT retry for corrupted data")

Signed-off-by: Peter Gonda <pgonda@google.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Marc Orr <marcorr@google.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: John Allen <john.allen@amd.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: linux-crypto@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccp/sev-dev.c

index 8fd774a..6ab93df 100644 (file)
@@ -413,7 +413,7 @@ static int __sev_platform_init_locked(int *error)
 {
        struct psp_device *psp = psp_master;
        struct sev_device *sev;
-       int rc, psp_ret;
+       int rc, psp_ret = -1;
        int (*init_function)(int *error);
 
        if (!psp || !psp->sev_data)