]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: arm/ghash - use the new scatterwalk functions
authorEric Biggers <ebiggers@google.com>
Wed, 19 Feb 2025 18:23:30 +0000 (10:23 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 2 Mar 2025 07:19:43 +0000 (15:19 +0800)
Use scatterwalk_next() which consolidates scatterwalk_clamp() and
scatterwalk_map(), and use scatterwalk_done_src() which consolidates
scatterwalk_unmap(), scatterwalk_advance(), and scatterwalk_done().
Remove unnecessary code that seemed to be intended to advance to the
next sg entry, which is already handled by the scatterwalk functions.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm/crypto/ghash-ce-glue.c

index 3af9970825340d93f9fea29e5cc5783ae7119c8d..9613ffed84f93c9df3b13b688989cd1e6f44483d 100644 (file)
@@ -459,17 +459,12 @@ static void gcm_calculate_auth_mac(struct aead_request *req, u64 dg[], u32 len)
        scatterwalk_start(&walk, req->src);
 
        do {
-               u32 n = scatterwalk_clamp(&walk, len);
-               u8 *p;
+               unsigned int n;
+               const u8 *p;
 
-               if (!n) {
-                       scatterwalk_start(&walk, sg_next(walk.sg));
-                       n = scatterwalk_clamp(&walk, len);
-               }
-
-               p = scatterwalk_map(&walk);
+               p = scatterwalk_next(&walk, len, &n);
                gcm_update_mac(dg, p, n, buf, &buf_count, ctx);
-               scatterwalk_unmap(p);
+               scatterwalk_done_src(&walk, p, n);
 
                if (unlikely(len / SZ_4K > (len - n) / SZ_4K)) {
                        kernel_neon_end();
@@ -477,8 +472,6 @@ static void gcm_calculate_auth_mac(struct aead_request *req, u64 dg[], u32 len)
                }
 
                len -= n;
-               scatterwalk_advance(&walk, n);
-               scatterwalk_done(&walk, 0, len);
        } while (len);
 
        if (buf_count) {