diff options
| author | Eric Biggers <ebiggers@google.com> | 2025-05-05 21:18:23 +0300 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2025-05-12 08:32:53 +0300 |
| commit | 607c92141cdec6e472d80de813f5251685b9ddc1 (patch) | |
| tree | c5aba824a6119fac977fe93a76514544723bd70b /include | |
| parent | 32c9541189eb31ba6b25e2ff28e42660394a62af (diff) | |
| download | linux-607c92141cdec6e472d80de813f5251685b9ddc1.tar.xz | |
crypto: lib/chacha - add strongly-typed state zeroization
Now that the ChaCha state matrix is strongly-typed, add a helper
function chacha_zeroize_state() which zeroizes it. Then convert all
applicable callers to use it instead of direct memzero_explicit. No
functional changes.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include')
| -rw-r--r-- | include/crypto/chacha.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/crypto/chacha.h b/include/crypto/chacha.h index 64fb270f2bfc..7c2e6c68919b 100644 --- a/include/crypto/chacha.h +++ b/include/crypto/chacha.h @@ -16,6 +16,7 @@ #define _CRYPTO_CHACHA_H #include <linux/unaligned.h> +#include <linux/string.h> #include <linux/types.h> /* 32-bit stream position, then 96-bit nonce (RFC7539 convention) */ @@ -108,6 +109,11 @@ static inline void chacha20_crypt(struct chacha_state *state, chacha_crypt(state, dst, src, bytes, 20); } +static inline void chacha_zeroize_state(struct chacha_state *state) +{ + memzero_explicit(state, sizeof(*state)); +} + #if IS_ENABLED(CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA) bool chacha_is_arch_optimized(void); #else |
