summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/crypto
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2014-11-30 18:03:47 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2014-12-02 15:55:50 +0100
commitd83480b061f95db90bd9df69a21c20d0fd5c9232 (patch)
treeb9f8d01de0402abde928c0bdb7dc463acb90d3ab /arch/powerpc/crypto
parentcrypto: sha - replace memset by memzero_explicit (diff)
downloadlinux-d83480b061f95db90bd9df69a21c20d0fd5c9232.tar.xz
linux-d83480b061f95db90bd9df69a21c20d0fd5c9232.zip
crypto: powerpc - replace memset by memzero_explicit
Memset on a local variable may be removed when it is called just before the variable goes out of scope. Using memzero_explicit defeats this optimization. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier x; type T; @@ { ... when any T x[...]; ... when any when exists - memset + memzero_explicit (x, -0, ...) ... when != x when strict } // </smpl> This change was suggested by Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Acked-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/powerpc/crypto')
-rw-r--r--arch/powerpc/crypto/sha1.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/crypto/sha1.c b/arch/powerpc/crypto/sha1.c
index 0f88c7b41119..d3feba5a275f 100644
--- a/arch/powerpc/crypto/sha1.c
+++ b/arch/powerpc/crypto/sha1.c
@@ -66,7 +66,7 @@ static int sha1_update(struct shash_desc *desc, const u8 *data,
src = data + done;
} while (done + 63 < len);
- memset(temp, 0, sizeof(temp));
+ memzero_explicit(temp, sizeof(temp));
partial = 0;
}
memcpy(sctx->buffer + partial, src, len - done);