drivers/crypto/inside-secure/safexcel_hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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>
---
drivers/crypto/inside-secure/safexcel_hash.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c
index e17577b785c3..f44c08f5f5ec 100644
--- a/drivers/crypto/inside-secure/safexcel_hash.c
+++ b/drivers/crypto/inside-secure/safexcel_hash.c
@@ -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)
--
2.25.1
On Thu, Oct 31, 2024 at 07:27:55PM +0800, Li Huafei wrote: > 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> > --- > drivers/crypto/inside-secure/safexcel_hash.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Patch applied. Thanks. -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Quoting Li Huafei (2024-10-31 12:27:55) > 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> Thanks! > --- > drivers/crypto/inside-secure/safexcel_hash.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c > index e17577b785c3..f44c08f5f5ec 100644 > --- a/drivers/crypto/inside-secure/safexcel_hash.c > +++ b/drivers/crypto/inside-secure/safexcel_hash.c > @@ -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) > -- > 2.25.1 >
On 2024/11/6 0:00, Antoine Tenart wrote: > Quoting Li Huafei (2024-10-31 12:27:55) >> 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> > > Thanks! > Thank you for reviewing. >> --- >> drivers/crypto/inside-secure/safexcel_hash.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c >> index e17577b785c3..f44c08f5f5ec 100644 >> --- a/drivers/crypto/inside-secure/safexcel_hash.c >> +++ b/drivers/crypto/inside-secure/safexcel_hash.c >> @@ -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) >> -- >> 2.25.1 >> > . >
© 2016 - 2024 Red Hat, Inc.