summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2025-04-12 18:47:47 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2025-04-16 15:36:24 +0800
commit90916934fd093edf62bc0c5c9a940a8efa7db2f8 (patch)
tree6d8e5ed01337fc3e9d33375ec4e9fe6e52d0081f
parentaeffd9093820c16e10f61d1c894c16d435b82975 (diff)
downloadlinux-90916934fd093edf62bc0c5c9a940a8efa7db2f8.tar.gz
linux-90916934fd093edf62bc0c5c9a940a8efa7db2f8.tar.bz2
linux-90916934fd093edf62bc0c5c9a940a8efa7db2f8.zip
crypto: shash - Remove dynamic descsize
As all users of the dynamic descsize have been converted to use a static one instead, remove support for dynamic descsize. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/shash.c18
-rw-r--r--include/crypto/hash.h3
2 files changed, 2 insertions, 19 deletions
diff --git a/crypto/shash.c b/crypto/shash.c
index a2a7d6609172..f23bd9cb1873 100644
--- a/crypto/shash.c
+++ b/crypto/shash.c
@@ -153,9 +153,6 @@ static int crypto_shash_init_tfm(struct crypto_tfm *tfm)
{
struct crypto_shash *hash = __crypto_shash_cast(tfm);
struct shash_alg *alg = crypto_shash_alg(hash);
- int err;
-
- hash->descsize = alg->descsize;
shash_set_needkey(hash, alg);
@@ -165,18 +162,7 @@ static int crypto_shash_init_tfm(struct crypto_tfm *tfm)
if (!alg->init_tfm)
return 0;
- err = alg->init_tfm(hash);
- if (err)
- return err;
-
- /* ->init_tfm() may have increased the descsize. */
- if (WARN_ON_ONCE(hash->descsize > HASH_MAX_DESCSIZE)) {
- if (alg->exit_tfm)
- alg->exit_tfm(hash);
- return -EINVAL;
- }
-
- return 0;
+ return alg->init_tfm(hash);
}
static void crypto_shash_free_instance(struct crypto_instance *inst)
@@ -274,8 +260,6 @@ struct crypto_shash *crypto_clone_shash(struct crypto_shash *hash)
if (IS_ERR(nhash))
return nhash;
- nhash->descsize = hash->descsize;
-
if (alg->clone_tfm) {
err = alg->clone_tfm(nhash, hash);
if (err) {
diff --git a/include/crypto/hash.h b/include/crypto/hash.h
index eceb2ed04f26..87518cf3b2d8 100644
--- a/include/crypto/hash.h
+++ b/include/crypto/hash.h
@@ -235,7 +235,6 @@ struct crypto_ahash {
};
struct crypto_shash {
- unsigned int descsize;
struct crypto_tfm base;
};
@@ -810,7 +809,7 @@ static inline void crypto_shash_clear_flags(struct crypto_shash *tfm, u32 flags)
*/
static inline unsigned int crypto_shash_descsize(struct crypto_shash *tfm)
{
- return tfm->descsize;
+ return crypto_shash_alg(tfm)->descsize;
}
static inline void *shash_desc_ctx(struct shash_desc *desc)