crypto: arm64/sha1 - Set finalize for short finup
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 25 Apr 2025 10:58:13 +0000 (18:58 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 26 Apr 2025 11:12:24 +0000 (19:12 +0800)
Always set sctx->finalize before calling finup as it may not have
been set previously on a short final.

Reported-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Fixes: b97d31100e36 ("crypto: arm64/sha1 - Use API partial block handling")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/sha1-ce-glue.c

index 1f8c93fe1e649175d84021dd3d7039cced5fae6b..65b6980817e5bcb2ada0bd362de10c511d6fece6 100644 (file)
@@ -79,8 +79,10 @@ static int sha1_ce_finup(struct shash_desc *desc, const u8 *data,
                data += len - remain;
                len = remain;
        }
-       if (!finalized)
+       if (!finalized) {
+               sctx->finalize = 0;
                sha1_base_do_finup(desc, data, len, sha1_ce_transform);
+       }
        return sha1_base_finish(desc, out);
 }