From: Eric Biggers <ebiggers@kernel.org>
To: linux-crypto@vger.kernel.org
Subject: [PATCH v3 3/8] crypto: skcipher - remove redundant clamping to page size
Date: Sun, 5 Jan 2025 11:34:11 -0800 [thread overview]
Message-ID: <20250105193416.36537-4-ebiggers@kernel.org> (raw)
In-Reply-To: <20250105193416.36537-1-ebiggers@kernel.org>
From: Eric Biggers <ebiggers@google.com>
In the case where skcipher_walk_next() allocates a bounce page, that
page by definition has size PAGE_SIZE. The number of bytes to copy 'n'
is guaranteed to fit in it, since earlier in the function it was clamped
to be at most a page. Therefore remove the unnecessary logic that tried
to clamp 'n' again to fit in the bounce page.
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
crypto/skcipher.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/crypto/skcipher.c b/crypto/skcipher.c
index 887cbce8f78d..c627e267b125 100644
--- a/crypto/skcipher.c
+++ b/crypto/skcipher.c
@@ -248,28 +248,24 @@ static int skcipher_walk_next(struct skcipher_walk *walk)
return skcipher_walk_done(walk, -EINVAL);
slow_path:
return skcipher_next_slow(walk, bsize);
}
+ walk->nbytes = n;
if (unlikely((walk->in.offset | walk->out.offset) & walk->alignmask)) {
if (!walk->page) {
gfp_t gfp = skcipher_walk_gfp(walk);
walk->page = (void *)__get_free_page(gfp);
if (!walk->page)
goto slow_path;
}
-
- walk->nbytes = min_t(unsigned, n,
- PAGE_SIZE - offset_in_page(walk->page));
walk->flags |= SKCIPHER_WALK_COPY;
return skcipher_next_copy(walk);
}
- walk->nbytes = n;
-
return skcipher_next_fast(walk);
}
static int skcipher_copy_iv(struct skcipher_walk *walk)
{
--
2.47.1
next prev parent reply other threads:[~2025-01-05 19:34 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-05 19:34 [PATCH v3 0/8] crypto: skcipher_walk cleanups Eric Biggers
2025-01-05 19:34 ` [PATCH v3 1/8] crypto: skcipher - document skcipher_walk_done() and rename some vars Eric Biggers
2025-01-05 19:34 ` [PATCH v3 2/8] crypto: skcipher - remove unnecessary page alignment of bounce buffer Eric Biggers
2025-01-05 19:34 ` Eric Biggers [this message]
2025-01-05 19:34 ` [PATCH v3 4/8] crypto: skcipher - remove redundant check for SKCIPHER_WALK_SLOW Eric Biggers
2025-01-05 19:34 ` [PATCH v3 5/8] crypto: skcipher - fold skcipher_walk_skcipher() into skcipher_walk_virt() Eric Biggers
2025-01-05 19:34 ` [PATCH v3 6/8] crypto: skcipher - clean up initialization of skcipher_walk::flags Eric Biggers
2025-01-05 19:34 ` [PATCH v3 7/8] crypto: skcipher - optimize initializing skcipher_walk fields Eric Biggers
2025-01-05 19:34 ` [PATCH v3 8/8] crypto: skcipher - call cond_resched() directly Eric Biggers
2025-01-14 3:46 ` [PATCH v3 0/8] crypto: skcipher_walk cleanups Herbert Xu
2025-01-15 2:40 ` Eric Biggers
2025-01-15 4:42 ` Herbert Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250105193416.36537-4-ebiggers@kernel.org \
--to=ebiggers@kernel.org \
--cc=linux-crypto@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).