]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()
authorLi Huafei <lihuafei1@huawei.com>
Thu, 31 Oct 2024 11:27:55 +0000 (19:27 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 10 Nov 2024 03:50:54 +0000 (11:50 +0800)
The commit 320406cb60b6 ("crypto: inside-secure - Replace generic aes
with libaes") replaced crypto_alloc_cipher() with kmalloc(), but did not
modify the handling of the return value. When kmalloc() returns NULL,
PTR_ERR_OR_ZERO(NULL) returns 0, but in fact, the memory allocation has
failed, and -ENOMEM should be returned.

Fixes: 320406cb60b6 ("crypto: inside-secure - Replace generic aes with libaes")
Signed-off-by: Li Huafei <lihuafei1@huawei.com>
Acked-by: Antoine Tenart <atenart@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel_hash.c

index e17577b785c33aea052ad8a7dc3538166f68e824..f44c08f5f5ec4af129e0e69141be8fc4a6ac6f71 100644 (file)
@@ -2093,7 +2093,7 @@ static int safexcel_xcbcmac_cra_init(struct crypto_tfm *tfm)
 
        safexcel_ahash_cra_init(tfm);
        ctx->aes = kmalloc(sizeof(*ctx->aes), GFP_KERNEL);
-       return PTR_ERR_OR_ZERO(ctx->aes);
+       return ctx->aes == NULL ? -ENOMEM : 0;
 }
 
 static void safexcel_xcbcmac_cra_exit(struct crypto_tfm *tfm)