linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] crypto/testmgr.c: fix sizeof() on COMP_BUF_SIZE
@ 2018-10-07 11:58 Michael Schupikov
  2018-10-08 11:39 ` Ard Biesheuvel
  2018-10-12  6:23 ` Herbert Xu
  0 siblings, 2 replies; 3+ messages in thread
From: Michael Schupikov @ 2018-10-07 11:58 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Michael Schupikov, David S. Miller, linux-crypto, linux-kernel

After allocation, output and decomp_output both point to memory chunks of
size COMP_BUF_SIZE. Then, only the first bytes are zeroed out using
sizeof(COMP_BUF_SIZE) as parameter to memset(), because
sizeof(COMP_BUF_SIZE) provides the size of the constant and not the size of
allocated memory.

Instead, the whole allocated memory is meant to be zeroed out. Use
COMP_BUF_SIZE as parameter to memset() directly in order to accomplish
this.

Fixes: 336073840a872 ("crypto: testmgr - Allow different compression results")

Signed-off-by: Michael Schupikov <michael@schupikov.de>
---
 crypto/testmgr.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index a1d42245082a..790aa3536631 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1400,8 +1400,8 @@ static int test_comp(struct crypto_comp *tfm,
 		int ilen;
 		unsigned int dlen = COMP_BUF_SIZE;
 
-		memset(output, 0, sizeof(COMP_BUF_SIZE));
-		memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
+		memset(output, 0, COMP_BUF_SIZE);
+		memset(decomp_output, 0, COMP_BUF_SIZE);
 
 		ilen = ctemplate[i].inlen;
 		ret = crypto_comp_compress(tfm, ctemplate[i].input,
@@ -1445,7 +1445,7 @@ static int test_comp(struct crypto_comp *tfm,
 		int ilen;
 		unsigned int dlen = COMP_BUF_SIZE;
 
-		memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
+		memset(decomp_output, 0, COMP_BUF_SIZE);
 
 		ilen = dtemplate[i].inlen;
 		ret = crypto_comp_decompress(tfm, dtemplate[i].input,
-- 
2.19.0


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

* Re: [PATCH] crypto/testmgr.c: fix sizeof() on COMP_BUF_SIZE
  2018-10-07 11:58 [PATCH] crypto/testmgr.c: fix sizeof() on COMP_BUF_SIZE Michael Schupikov
@ 2018-10-08 11:39 ` Ard Biesheuvel
  2018-10-12  6:23 ` Herbert Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Ard Biesheuvel @ 2018-10-08 11:39 UTC (permalink / raw)
  To: Michael Schupikov
  Cc: Herbert Xu, David S. Miller,
	open list:HARDWARE RANDOM NUMBER GENERATOR CORE,
	Linux Kernel Mailing List

On 7 October 2018 at 13:58, Michael Schupikov <michael@schupikov.de> wrote:
> After allocation, output and decomp_output both point to memory chunks of
> size COMP_BUF_SIZE. Then, only the first bytes are zeroed out using
> sizeof(COMP_BUF_SIZE) as parameter to memset(), because
> sizeof(COMP_BUF_SIZE) provides the size of the constant and not the size of
> allocated memory.
>
> Instead, the whole allocated memory is meant to be zeroed out. Use
> COMP_BUF_SIZE as parameter to memset() directly in order to accomplish
> this.
>
> Fixes: 336073840a872 ("crypto: testmgr - Allow different compression results")
>
> Signed-off-by: Michael Schupikov <michael@schupikov.de>

Nice catch

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---
>  crypto/testmgr.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/crypto/testmgr.c b/crypto/testmgr.c
> index a1d42245082a..790aa3536631 100644
> --- a/crypto/testmgr.c
> +++ b/crypto/testmgr.c
> @@ -1400,8 +1400,8 @@ static int test_comp(struct crypto_comp *tfm,
>                 int ilen;
>                 unsigned int dlen = COMP_BUF_SIZE;
>
> -               memset(output, 0, sizeof(COMP_BUF_SIZE));
> -               memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
> +               memset(output, 0, COMP_BUF_SIZE);
> +               memset(decomp_output, 0, COMP_BUF_SIZE);
>
>                 ilen = ctemplate[i].inlen;
>                 ret = crypto_comp_compress(tfm, ctemplate[i].input,
> @@ -1445,7 +1445,7 @@ static int test_comp(struct crypto_comp *tfm,
>                 int ilen;
>                 unsigned int dlen = COMP_BUF_SIZE;
>
> -               memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
> +               memset(decomp_output, 0, COMP_BUF_SIZE);
>
>                 ilen = dtemplate[i].inlen;
>                 ret = crypto_comp_decompress(tfm, dtemplate[i].input,
> --
> 2.19.0
>

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

* Re: [PATCH] crypto/testmgr.c: fix sizeof() on COMP_BUF_SIZE
  2018-10-07 11:58 [PATCH] crypto/testmgr.c: fix sizeof() on COMP_BUF_SIZE Michael Schupikov
  2018-10-08 11:39 ` Ard Biesheuvel
@ 2018-10-12  6:23 ` Herbert Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Herbert Xu @ 2018-10-12  6:23 UTC (permalink / raw)
  To: Michael Schupikov; +Cc: David S. Miller, linux-crypto, linux-kernel

On Sun, Oct 07, 2018 at 01:58:10PM +0200, Michael Schupikov wrote:
> After allocation, output and decomp_output both point to memory chunks of
> size COMP_BUF_SIZE. Then, only the first bytes are zeroed out using
> sizeof(COMP_BUF_SIZE) as parameter to memset(), because
> sizeof(COMP_BUF_SIZE) provides the size of the constant and not the size of
> allocated memory.
> 
> Instead, the whole allocated memory is meant to be zeroed out. Use
> COMP_BUF_SIZE as parameter to memset() directly in order to accomplish
> this.
> 
> Fixes: 336073840a872 ("crypto: testmgr - Allow different compression results")
> 
> Signed-off-by: Michael Schupikov <michael@schupikov.de>
> ---
>  crypto/testmgr.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

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

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

end of thread, other threads:[~2018-10-12  6:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-07 11:58 [PATCH] crypto/testmgr.c: fix sizeof() on COMP_BUF_SIZE Michael Schupikov
2018-10-08 11:39 ` Ard Biesheuvel
2018-10-12  6:23 ` Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).