UPSTREAM: crypto: gf128mul - Zero memory when freeing multiplication table
authorAlex Cope <alexcope@google.com>
Mon, 14 Nov 2016 19:02:54 +0000 (11:02 -0800)
committerEric Biggers <ebiggers@google.com>
Fri, 10 Feb 2017 20:08:37 +0000 (20:08 +0000)
GF(2^128) multiplication tables are typically used for secret
information, so it's a good idea to zero them on free.

Signed-off-by: Alex Cope <alexcope@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry-picked from 75aa0a7cafe951538c7cb7c5ed457a3371ec5bcd)
Bug: 32975945
Signed-off-by: Eric Biggers <ebiggers@google.com>
Change-Id: I37b1ae9544158007f9ee2caf070120f4a42153ab

crypto/gf128mul.c
include/crypto/gf128mul.h

index 5276607c72d04ca0e72f1b74a86c2acef1962073..0594dd6f82f239078702d42ee5ab52d332ae868d 100644 (file)
@@ -352,8 +352,8 @@ void gf128mul_free_64k(struct gf128mul_64k *t)
        int i;
 
        for (i = 0; i < 16; i++)
-               kfree(t->t[i]);
-       kfree(t);
+               kzfree(t->t[i]);
+       kzfree(t);
 }
 EXPORT_SYMBOL(gf128mul_free_64k);
 
index da2530e34b2698aa536e8f1e20e42054964d6c35..7217fe6dbe335abdc478ee5efdce15c0c10fda31 100644 (file)
@@ -177,7 +177,7 @@ void gf128mul_4k_bbe(be128 *a, struct gf128mul_4k *t);
 
 static inline void gf128mul_free_4k(struct gf128mul_4k *t)
 {
-       kfree(t);
+       kzfree(t);
 }