Commit 31d00156e50e for kernel

commit 31d00156e50ecad37f2cb6cbf04aaa9a260505ef
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Sat Apr 4 08:29:58 2026 +0800

    crypto: af_alg - Fix page reassignment overflow in af_alg_pull_tsgl

    When page reassignment was added to af_alg_pull_tsgl the original
    loop wasn't updated so it may try to reassign one more page than
    necessary.

    Add the check to the reassignment so that this does not happen.

    Also update the comment which still refers to the obsolete offset
    argument.

    Reported-by: syzbot+d23888375c2737c17ba5@syzkaller.appspotmail.com
    Fixes: e870456d8e7c ("crypto: algif_skcipher - overhaul memory management")
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index 437f3e77c7e0..dd0e5be4d8c0 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -705,8 +705,8 @@ void af_alg_pull_tsgl(struct sock *sk, size_t used, struct scatterlist *dst)
 			 * Assumption: caller created af_alg_count_tsgl(len)
 			 * SG entries in dst.
 			 */
-			if (dst) {
-				/* reassign page to dst after offset */
+			if (dst && plen) {
+				/* reassign page to dst */
 				get_page(page);
 				sg_set_page(dst + j, page, plen, sg[i].offset);
 				j++;