Commit cb25dbb6 authored by Eric Biggers's avatar Eric Biggers Committed by Herbert Xu
Browse files

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: default avatarEric Biggers <ebiggers@google.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 84b15763
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -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