summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2026-04-12 13:32:21 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2026-04-12 13:38:19 +0800
commit3d14bd48e3a77091cbce637a12c2ae31b4a1687c (patch)
tree071d9381c94e2d2572b5439e626b28d1fa9ecf1a
parentd702c3408213bb12bd570bb97204d8340d141c51 (diff)
downloadlinux-3d14bd48e3a77091cbce637a12c2ae31b4a1687c.tar.gz
linux-3d14bd48e3a77091cbce637a12c2ae31b4a1687c.zip
crypto: algif_aead - Fix minimum RX size check for decryption
The check for the minimum receive buffer size did not take the tag size into account during decryption. Fix this by adding the required extra length. Reported-by: syzbot+aa11561819dc42ebbc7c@syzkaller.appspotmail.com Reported-by: Daniel Pouzzner <douzzer@mega.nu> Fixes: d887c52d6ae4 ("crypto: algif_aead - overhaul memory management") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/algif_aead.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c
index dda15bb05e892..f8bd45f7dc839 100644
--- a/crypto/algif_aead.c
+++ b/crypto/algif_aead.c
@@ -144,7 +144,7 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg,
if (usedpages < outlen) {
size_t less = outlen - usedpages;
- if (used < less) {
+ if (used < less + (ctx->enc ? 0 : as)) {
err = -EINVAL;
goto free;
}