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: d887c52d6a ("crypto: algif_aead - overhaul memory management")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Herbert Xu
2026-04-12 13:32:21 +08:00
parent d702c34082
commit 3d14bd48e3

View File

@@ -144,7 +144,7 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg,
if (usedpages < outlen) { if (usedpages < outlen) {
size_t less = outlen - usedpages; size_t less = outlen - usedpages;
if (used < less) { if (used < less + (ctx->enc ? 0 : as)) {
err = -EINVAL; err = -EINVAL;
goto free; goto free;
} }