linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch][Fix] crypto: arm{,64} neon: memzero_explicit aes-cbc key
@ 2020-03-13 11:02 Torsten Duwe
  2020-03-17 22:17 ` Will Deacon
  2020-03-20  3:51 ` Herbert Xu
  0 siblings, 2 replies; 5+ messages in thread
From: Torsten Duwe @ 2020-03-13 11:02 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: Herbert Xu, David S. Miller, Russell King, linux-crypto,
	linux-arm-kernel, linux-kernel

From: Torsten Duwe <duwe@suse.de>

At function exit, do not leave the expanded key in the rk struct
which got allocated on the stack.

Signed-off-by: Torsten Duwe <duwe@suse.de>
---
Another small fix from our FIPS evaluation. I hope you don't mind I merged
arm32 and arm64 into one patch -- this is really simple.
--- a/arch/arm/crypto/aes-neonbs-glue.c
+++ b/arch/arm/crypto/aes-neonbs-glue.c
@@ -138,6 +138,7 @@ static int aesbs_cbc_setkey(struct crypto_skcipher *tfm, const u8 *in_key,
 	kernel_neon_begin();
 	aesbs_convert_key(ctx->key.rk, rk.key_enc, ctx->key.rounds);
 	kernel_neon_end();
+	memzero_explicit(&rk, sizeof(rk));
 
 	return crypto_cipher_setkey(ctx->enc_tfm, in_key, key_len);
 }
diff --git a/arch/arm64/crypto/aes-neonbs-glue.c b/arch/arm64/crypto/aes-neonbs-glue.c
index e3e27349a9fe..c0b980503643 100644
--- a/arch/arm64/crypto/aes-neonbs-glue.c
+++ b/arch/arm64/crypto/aes-neonbs-glue.c
@@ -151,6 +151,7 @@ static int aesbs_cbc_setkey(struct crypto_skcipher *tfm, const u8 *in_key,
 	kernel_neon_begin();
 	aesbs_convert_key(ctx->key.rk, rk.key_enc, ctx->key.rounds);
 	kernel_neon_end();
+	memzero_explicit(&rk, sizeof(rk));
 
 	return 0;
 }

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

end of thread, other threads:[~2020-03-20  3:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-13 11:02 [Patch][Fix] crypto: arm{,64} neon: memzero_explicit aes-cbc key Torsten Duwe
2020-03-17 22:17 ` Will Deacon
2020-03-18 20:13   ` Ard Biesheuvel
2020-03-19  8:15     ` Will Deacon
2020-03-20  3:51 ` 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).