From: Eric Biggers <ebiggers@kernel.org>
To: linux-crypto@vger.kernel.org
Subject: [PATCH 17/30] crypto: testmgr - stop checking crypto_ahash_alignmask
Date: Sun, 22 Oct 2023 01:10:47 -0700 [thread overview]
Message-ID: <20231022081100.123613-18-ebiggers@kernel.org> (raw)
In-Reply-To: <20231022081100.123613-1-ebiggers@kernel.org>
From: Eric Biggers <ebiggers@google.com>
Now that the alignmask for ahash and shash algorithms is always 0,
crypto_ahash_alignmask() always returns 0 and will be removed. In
preparation for this, stop checking crypto_ahash_alignmask() in testmgr.
As a result of this change,
test_sg_division::offset_relative_to_alignmask and
testvec_config::key_offset_relative_to_alignmask no longer have any
effect on ahash (or shash) algorithms. Therefore, also stop setting
these flags in default_hash_testvec_configs[].
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
crypto/testmgr.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 48a0929c7a158..335449a27f757 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -401,31 +401,29 @@ static const struct testvec_config default_hash_testvec_configs[] = {
}, {
.name = "digest aligned buffer",
.src_divs = { { .proportion_of_total = 10000 } },
.finalization_type = FINALIZATION_TYPE_DIGEST,
}, {
.name = "init+update+final misaligned buffer",
.src_divs = { { .proportion_of_total = 10000, .offset = 1 } },
.finalization_type = FINALIZATION_TYPE_FINAL,
.key_offset = 1,
}, {
- .name = "digest buffer aligned only to alignmask",
+ .name = "digest misaligned buffer",
.src_divs = {
{
.proportion_of_total = 10000,
.offset = 1,
- .offset_relative_to_alignmask = true,
},
},
.finalization_type = FINALIZATION_TYPE_DIGEST,
.key_offset = 1,
- .key_offset_relative_to_alignmask = true,
}, {
.name = "init+update+update+final two even splits",
.src_divs = {
{ .proportion_of_total = 5000 },
{
.proportion_of_total = 5000,
.flush_type = FLUSH_TYPE_FLUSH,
},
},
.finalization_type = FINALIZATION_TYPE_FINAL,
@@ -1451,54 +1449,53 @@ static int check_nonfinal_ahash_op(const char *op, int err,
/* Test one hash test vector in one configuration, using the ahash API */
static int test_ahash_vec_cfg(const struct hash_testvec *vec,
const char *vec_name,
const struct testvec_config *cfg,
struct ahash_request *req,
struct test_sglist *tsgl,
u8 *hashstate)
{
struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
- const unsigned int alignmask = crypto_ahash_alignmask(tfm);
const unsigned int digestsize = crypto_ahash_digestsize(tfm);
const unsigned int statesize = crypto_ahash_statesize(tfm);
const char *driver = crypto_ahash_driver_name(tfm);
const u32 req_flags = CRYPTO_TFM_REQ_MAY_BACKLOG | cfg->req_flags;
const struct test_sg_division *divs[XBUFSIZE];
DECLARE_CRYPTO_WAIT(wait);
unsigned int i;
struct scatterlist *pending_sgl;
unsigned int pending_len;
u8 result[HASH_MAX_DIGESTSIZE + TESTMGR_POISON_LEN];
int err;
/* Set the key, if specified */
if (vec->ksize) {
err = do_setkey(crypto_ahash_setkey, tfm, vec->key, vec->ksize,
- cfg, alignmask);
+ cfg, 0);
if (err) {
if (err == vec->setkey_error)
return 0;
pr_err("alg: ahash: %s setkey failed on test vector %s; expected_error=%d, actual_error=%d, flags=%#x\n",
driver, vec_name, vec->setkey_error, err,
crypto_ahash_get_flags(tfm));
return err;
}
if (vec->setkey_error) {
pr_err("alg: ahash: %s setkey unexpectedly succeeded on test vector %s; expected_error=%d\n",
driver, vec_name, vec->setkey_error);
return -EINVAL;
}
}
/* Build the scatterlist for the source data */
- err = build_hash_sglist(tsgl, vec, cfg, alignmask, divs);
+ err = build_hash_sglist(tsgl, vec, cfg, 0, divs);
if (err) {
pr_err("alg: ahash: %s: error preparing scatterlist for test vector %s, cfg=\"%s\"\n",
driver, vec_name, cfg->name);
return err;
}
/* Do the actual hashing */
testmgr_poison(req->__ctx, crypto_ahash_reqsize(tfm));
testmgr_poison(result, digestsize + TESTMGR_POISON_LEN);
--
2.42.0
next prev parent reply other threads:[~2023-10-22 8:19 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-22 8:10 [PATCH 00/30] crypto: reduce ahash API overhead Eric Biggers
2023-10-22 8:10 ` [PATCH 01/30] crypto: shash - remove crypto_shash_ctx_aligned() Eric Biggers
2023-10-22 8:10 ` [PATCH 02/30] crypto: sun4i-ss - remove unnecessary alignmask for ahashes Eric Biggers
2023-10-25 13:15 ` Corentin Labbe
2023-10-22 8:10 ` [PATCH 03/30] crypto: sun8i-ce " Eric Biggers
2023-10-25 13:16 ` Corentin Labbe
2023-10-22 8:10 ` [PATCH 04/30] crypto: sun8i-ss " Eric Biggers
2023-10-25 13:16 ` Corentin Labbe
2023-10-22 8:10 ` [PATCH 05/30] crypto: atmel " Eric Biggers
2023-10-22 8:10 ` [PATCH 06/30] crypto: artpec6 - stop setting " Eric Biggers
2023-10-22 8:10 ` [PATCH 07/30] crypto: mxs-dcp - remove unnecessary " Eric Biggers
2023-10-22 8:10 ` [PATCH 08/30] crypto: s5p-sss " Eric Biggers
2023-10-22 8:10 ` [PATCH 09/30] crypto: talitos " Eric Biggers
2023-11-29 15:00 ` Christophe Leroy
2023-11-29 20:46 ` Eric Biggers
2023-10-22 8:10 ` [PATCH 10/30] crypto: omap-sham - stop setting " Eric Biggers
2023-10-22 8:10 ` [PATCH 11/30] crypto: rockchip - remove unnecessary " Eric Biggers
2023-10-22 8:10 ` [PATCH 12/30] crypto: starfive " Eric Biggers
2023-10-22 8:10 ` [PATCH 13/30] crypto: stm32 " Eric Biggers
2023-10-22 8:10 ` [PATCH 14/30] crypto: ahash - remove support for nonzero alignmask Eric Biggers
2023-10-22 8:10 ` [PATCH 15/30] crypto: authenc - stop using alignmask of ahash Eric Biggers
2023-10-22 8:10 ` [PATCH 16/30] crypto: authencesn " Eric Biggers
2023-10-22 8:10 ` Eric Biggers [this message]
2023-10-22 8:10 ` [PATCH 18/30] net: ipv4: stop checking crypto_ahash_alignmask Eric Biggers
2023-10-22 8:10 ` [PATCH 19/30] net: ipv6: " Eric Biggers
2023-10-22 8:10 ` [PATCH 20/30] crypto: ccm - stop using alignmask of ahash Eric Biggers
2023-10-22 8:10 ` [PATCH 21/30] crypto: chacha20poly1305 " Eric Biggers
2023-10-22 8:10 ` [PATCH 22/30] crypto: gcm " Eric Biggers
2023-10-22 8:10 ` [PATCH 23/30] crypto: ahash - remove crypto_ahash_alignmask Eric Biggers
2023-10-22 8:10 ` [PATCH 24/30] crypto: ahash - remove struct ahash_request_priv Eric Biggers
2023-10-22 8:10 ` [PATCH 25/30] crypto: ahash - improve file comment Eric Biggers
2023-10-22 8:10 ` [PATCH 26/30] crypto: chelsio - stop using crypto_ahash::init Eric Biggers
2023-10-22 8:10 ` [PATCH 27/30] crypto: talitos " Eric Biggers
2023-10-22 8:10 ` [PATCH 28/30] crypto: hash - move "ahash wrapping shash" functions to ahash.c Eric Biggers
2023-10-22 8:10 ` [PATCH 29/30] crypto: ahash - check for shash type instead of not ahash type Eric Biggers
2023-10-22 8:11 ` [PATCH 30/30] crypto: ahash - optimize performance when wrapping shash Eric Biggers
2023-10-27 10:56 ` [PATCH 00/30] crypto: reduce ahash API overhead 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=20231022081100.123613-18-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).