[PATCH] crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()

Li Huafei posted 1 patch 3 weeks, 3 days ago
drivers/crypto/inside-secure/safexcel_hash.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()
Posted by Li Huafei 3 weeks, 3 days ago
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
Re: [PATCH] crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()
Posted by Herbert Xu 2 weeks ago
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
Re: [PATCH] crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()
Posted by Antoine Tenart 2 weeks, 5 days ago
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
>
Re: [PATCH] crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init()
Posted by Li Huafei 2 weeks, 3 days ago

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
>>
> .
>