diff options
| author | Eric Biggers <ebiggers@kernel.org> | 2026-09-22 22:11:16 -0700 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2026-10-02 18:12:43 +1000 |
| commit | 780cd10c8e78f97ed768be229acff0ffd5483477 (patch) | |
| tree | 318ffe36570301957b5efee12190a72337684f15 /include/linux | |
| parent | a0590c556cdbf88373d38494a23f1503d39b0ab2 (diff) | |
| download | linux-next-780cd10c8e78f97ed768be229acff0ffd5483477.tar.gz linux-next-780cd10c8e78f97ed768be229acff0ffd5483477.zip | |
crypto: sa2ul - Fix HMAC key preparation
sa_prepare_iopads() has multiple bugs, as discussed at
https://lore.kernel.org/linux-crypto/20260831055141.1632832-1-s-vadapalli@ti.com/T/#u
- Commit 3bf533787910 ("crypto: sha256 - Use the partial block API")
introduced a 1-byte buffer overflow in the SHA-256 case by making the
crypto_shash_export() write 1 more than sizeof(struct sha256_state).
- It never worked for HMAC keys longer than 64 bytes in the first place.
Fix both of these bugs by just using the crypto library to prepare the
key, like what the chelsio and qat drivers do. Also remove the
pointless use of an indirect call.
Fixes: 3bf533787910 ("crypto: sha256 - Use the partial block API")
Fixes: d2c8ac187fc9 ("crypto: sa2ul - Add AEAD algorithm support")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
