From: Eric Biggers Date: Wed, 19 Feb 2025 18:23:28 +0000 (-0800) Subject: crypto: skcipher - use scatterwalk_start_at_pos() X-Git-Tag: v6.15-rc1~118^2~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb25dbb60542c56a68089b57f9edd994a6b5bbf4;p=thirdparty%2Fkernel%2Flinux.git crypto: skcipher - use scatterwalk_start_at_pos() In skcipher_walk_aead_common(), use scatterwalk_start_at_pos() instead of a sequence of scatterwalk_start(), scatterwalk_copychunks(..., 2), and scatterwalk_done(). This is simpler and faster. Signed-off-by: Eric Biggers Signed-off-by: Herbert Xu --- diff --git a/crypto/skcipher.c b/crypto/skcipher.c index cdf0f11c7eaa3..59e33f63f8453 100644 --- a/crypto/skcipher.c +++ b/crypto/skcipher.c @@ -363,14 +363,8 @@ static int skcipher_walk_aead_common(struct skcipher_walk *walk, if (unlikely(!walk->total)) return 0; - scatterwalk_start(&walk->in, req->src); - scatterwalk_start(&walk->out, req->dst); - - scatterwalk_copychunks(NULL, &walk->in, req->assoclen, 2); - scatterwalk_copychunks(NULL, &walk->out, req->assoclen, 2); - - scatterwalk_done(&walk->in, 0, walk->total); - scatterwalk_done(&walk->out, 0, walk->total); + scatterwalk_start_at_pos(&walk->in, req->src, req->assoclen); + scatterwalk_start_at_pos(&walk->out, req->dst, req->assoclen); /* * Accessing 'alg' directly generates better code than using the