diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-03-30 13:40:48 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-03-30 13:40:48 -0700 |
| commit | d0c3bcd5b8976159d835a897254048e078f447e6 (patch) | |
| tree | a4fec9fa93b1573f7cac487f17935a8293469a20 | |
| parent | f1b24d8bdd64ecd5400dff79677f8a290ca70d73 (diff) | |
| parent | e5046823f8fa3677341b541a25af2fcb99a5b1e0 (diff) | |
Merge tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linuxHEADtorvalds/mastertorvalds/HEADmaster
Pull crypto library fix from Eric Biggers:
"Fix missing zeroization of the ChaCha state"
* tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
lib/crypto: chacha: Zeroize permuted_state before it leaves scope
| -rw-r--r-- | lib/crypto/chacha-block-generic.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/crypto/chacha-block-generic.c b/lib/crypto/chacha-block-generic.c index 77f68de71066..4a6d627580cb 100644 --- a/lib/crypto/chacha-block-generic.c +++ b/lib/crypto/chacha-block-generic.c @@ -87,6 +87,8 @@ void chacha_block_generic(struct chacha_state *state, &out[i * sizeof(u32)]); state->x[12]++; + + chacha_zeroize_state(&permuted_state); } EXPORT_SYMBOL(chacha_block_generic); @@ -110,5 +112,7 @@ void hchacha_block_generic(const struct chacha_state *state, memcpy(&out[0], &permuted_state.x[0], 16); memcpy(&out[4], &permuted_state.x[12], 16); + + chacha_zeroize_state(&permuted_state); } EXPORT_SYMBOL(hchacha_block_generic); |
