public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] crypto: sun8i-ce: rename kfree() to kfree_sensitive()
@ 2021-03-01 10:30 Yang Li
  2021-03-01 10:32 ` Herbert Xu
  2021-03-01 10:35 ` Christophe Leroy
  0 siblings, 2 replies; 3+ messages in thread
From: Yang Li @ 2021-03-01 10:30 UTC (permalink / raw)
  To: clabbe.montjoie
  Cc: jernej.skrabec, herbert, linux-kernel, mripard, wens, Yang Li,
	linux-crypto, davem, linux-arm-kernel

Rename kfree() to kfree_sensitive() to  make the intention of the API
more explicit.

fixed the following coccicheck:
./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:30:16-17: WARNING
opportunity for kfree_sensitive/kvfree_sensitive (memset at line 29)
./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:42:16-17: WARNING
opportunity for kfree_sensitive/kvfree_sensitive (memset at line 41)
./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:161:8-9: WARNING
opportunity for kfree_sensitive/kvfree_sensitive (memset at line 109)

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
---
 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
index cfde9ee..8259d52 100644
--- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
+++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
@@ -27,7 +27,7 @@ void sun8i_ce_prng_exit(struct crypto_tfm *tfm)
 	struct sun8i_ce_rng_tfm_ctx *ctx = crypto_tfm_ctx(tfm);
 
 	memzero_explicit(ctx->seed, ctx->slen);
-	kfree(ctx->seed);
+	kfree_sensitive(ctx->seed);
 	ctx->seed = NULL;
 	ctx->slen = 0;
 }
@@ -39,7 +39,7 @@ int sun8i_ce_prng_seed(struct crypto_rng *tfm, const u8 *seed,
 
 	if (ctx->seed && ctx->slen != slen) {
 		memzero_explicit(ctx->seed, ctx->slen);
-		kfree(ctx->seed);
+		kfree_sensitive(ctx->seed);
 		ctx->slen = 0;
 		ctx->seed = NULL;
 	}
@@ -158,7 +158,7 @@ int sun8i_ce_prng_generate(struct crypto_rng *tfm, const u8 *src,
 	}
 	memzero_explicit(d, todo);
 err_iv:
-	kfree(d);
+	kfree_sensitive(d);
 err_mem:
 	return err;
 }
-- 
1.8.3.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] crypto: sun8i-ce: rename kfree() to kfree_sensitive()
  2021-03-01 10:30 [PATCH] crypto: sun8i-ce: rename kfree() to kfree_sensitive() Yang Li
@ 2021-03-01 10:32 ` Herbert Xu
  2021-03-01 10:35 ` Christophe Leroy
  1 sibling, 0 replies; 3+ messages in thread
From: Herbert Xu @ 2021-03-01 10:32 UTC (permalink / raw)
  To: Yang Li
  Cc: jernej.skrabec, linux-kernel, mripard, wens, clabbe.montjoie,
	linux-crypto, davem, linux-arm-kernel

On Mon, Mar 01, 2021 at 06:30:41PM +0800, Yang Li wrote:
> Rename kfree() to kfree_sensitive() to  make the intention of the API
> more explicit.
> 
> fixed the following coccicheck:
> ./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:30:16-17: WARNING
> opportunity for kfree_sensitive/kvfree_sensitive (memset at line 29)
> ./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:42:16-17: WARNING
> opportunity for kfree_sensitive/kvfree_sensitive (memset at line 41)
> ./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:161:8-9: WARNING
> opportunity for kfree_sensitive/kvfree_sensitive (memset at line 109)
> 
> Reported-by: Abaci Robot <abaci@linux.alibaba.com>
> Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
> ---
>  drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
> index cfde9ee..8259d52 100644
> --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
> +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
> @@ -27,7 +27,7 @@ void sun8i_ce_prng_exit(struct crypto_tfm *tfm)
>  	struct sun8i_ce_rng_tfm_ctx *ctx = crypto_tfm_ctx(tfm);
>  
>  	memzero_explicit(ctx->seed, ctx->slen);
> -	kfree(ctx->seed);
> +	kfree_sensitive(ctx->seed);

Any reason why you're keeping the memzero?

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] crypto: sun8i-ce: rename kfree() to kfree_sensitive()
  2021-03-01 10:30 [PATCH] crypto: sun8i-ce: rename kfree() to kfree_sensitive() Yang Li
  2021-03-01 10:32 ` Herbert Xu
@ 2021-03-01 10:35 ` Christophe Leroy
  1 sibling, 0 replies; 3+ messages in thread
From: Christophe Leroy @ 2021-03-01 10:35 UTC (permalink / raw)
  To: Yang Li, clabbe.montjoie
  Cc: jernej.skrabec, herbert, linux-kernel, mripard, wens,
	linux-crypto, davem, linux-arm-kernel



Le 01/03/2021 à 11:30, Yang Li a écrit :
> Rename kfree() to kfree_sensitive() to  make the intention of the API
> more explicit.

As far as I understand, you are not renaming kfree() to kfree_sensitive().

You are making a change to use kfree_sensitive() instead of using kfree().

Christophe

> 
> fixed the following coccicheck:
> ./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:30:16-17: WARNING
> opportunity for kfree_sensitive/kvfree_sensitive (memset at line 29)
> ./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:42:16-17: WARNING
> opportunity for kfree_sensitive/kvfree_sensitive (memset at line 41)
> ./drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c:161:8-9: WARNING
> opportunity for kfree_sensitive/kvfree_sensitive (memset at line 109)
> 
> Reported-by: Abaci Robot <abaci@linux.alibaba.com>
> Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
> ---
>   drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
> index cfde9ee..8259d52 100644
> --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
> +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c
> @@ -27,7 +27,7 @@ void sun8i_ce_prng_exit(struct crypto_tfm *tfm)
>   	struct sun8i_ce_rng_tfm_ctx *ctx = crypto_tfm_ctx(tfm);
>   
>   	memzero_explicit(ctx->seed, ctx->slen);
> -	kfree(ctx->seed);
> +	kfree_sensitive(ctx->seed);
>   	ctx->seed = NULL;
>   	ctx->slen = 0;
>   }
> @@ -39,7 +39,7 @@ int sun8i_ce_prng_seed(struct crypto_rng *tfm, const u8 *seed,
>   
>   	if (ctx->seed && ctx->slen != slen) {
>   		memzero_explicit(ctx->seed, ctx->slen);
> -		kfree(ctx->seed);
> +		kfree_sensitive(ctx->seed);
>   		ctx->slen = 0;
>   		ctx->seed = NULL;
>   	}
> @@ -158,7 +158,7 @@ int sun8i_ce_prng_generate(struct crypto_rng *tfm, const u8 *src,
>   	}
>   	memzero_explicit(d, todo);
>   err_iv:
> -	kfree(d);
> +	kfree_sensitive(d);
>   err_mem:
>   	return err;
>   }
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-03-01 10:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-01 10:30 [PATCH] crypto: sun8i-ce: rename kfree() to kfree_sensitive() Yang Li
2021-03-01 10:32 ` Herbert Xu
2021-03-01 10:35 ` Christophe Leroy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox