drivers/crypto/inside-secure/safexcel_hash.c | 4 ++++ 1 file changed, 4 insertions(+)
This issue has been found by the Sashiko bot while reviewing another
patch: key_tmp[] in safexcel_xcbcmac_setkey() and consts[] / _const[]
in safexcel_cmac_setkey() contain crypto key material that should not
get exposed to the outside once the function is done. Scrub the arrays
with memzero_explicit() to avoid that the data could leak via the stack.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
drivers/crypto/inside-secure/safexcel_hash.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c
index 3402e570d045c..1ae6fbec31298 100644
--- a/drivers/crypto/inside-secure/safexcel_hash.c
+++ b/drivers/crypto/inside-secure/safexcel_hash.c
@@ -1993,6 +1993,7 @@ static int safexcel_xcbcmac_setkey(struct crypto_ahash *tfm, const u8 *key,
ret = aes_prepareenckey(ctx->aes,
(u8 *)key_tmp + 2 * AES_BLOCK_SIZE,
AES_MIN_KEY_SIZE);
+ memzero_explicit(key_tmp, sizeof(key_tmp));
if (ret)
return ret;
@@ -2104,6 +2105,9 @@ static int safexcel_cmac_setkey(struct crypto_ahash *tfm, const u8 *key,
}
ctx->cbcmac = false;
+
+ memzero_explicit(consts, sizeof(consts));
+ memzero_explicit(_const, sizeof(_const));
return 0;
}
--
2.55.0
On Fri, Aug 14, 2026 at 10:36:51AM +0200, Thomas Huth wrote: > This issue has been found by the Sashiko bot while reviewing another > patch: key_tmp[] in safexcel_xcbcmac_setkey() and consts[] / _const[] > in safexcel_cmac_setkey() contain crypto key material that should not > get exposed to the outside once the function is done. Scrub the arrays > with memzero_explicit() to avoid that the data could leak via the stack. > > Signed-off-by: Thomas Huth <thuth@redhat.com> This could have both a Reported-by (Sashiko) and a Fixes tag. With that, Acked-by: Antoine Tenart <atenart@kernel.org> Thanks! > --- > drivers/crypto/inside-secure/safexcel_hash.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c > index 3402e570d045c..1ae6fbec31298 100644 > --- a/drivers/crypto/inside-secure/safexcel_hash.c > +++ b/drivers/crypto/inside-secure/safexcel_hash.c > @@ -1993,6 +1993,7 @@ static int safexcel_xcbcmac_setkey(struct crypto_ahash *tfm, const u8 *key, > ret = aes_prepareenckey(ctx->aes, > (u8 *)key_tmp + 2 * AES_BLOCK_SIZE, > AES_MIN_KEY_SIZE); > + memzero_explicit(key_tmp, sizeof(key_tmp)); > if (ret) > return ret; > > @@ -2104,6 +2105,9 @@ static int safexcel_cmac_setkey(struct crypto_ahash *tfm, const u8 *key, > } > ctx->cbcmac = false; > > + > + memzero_explicit(consts, sizeof(consts)); > + memzero_explicit(_const, sizeof(_const)); > return 0; > } > > -- > 2.55.0 >
© 2016 - 2026 Red Hat, Inc.