diff mbox series

[4/4] crypto: shash - Remove dynamic descsize

Message ID 22653813e9cd5c6ba248d0a1de73413bb81b0015.1744454589.git.herbert@gondor.apana.org.au
State New
Headers show
Series crypto: shash - Remove dynamic descsize | expand

Commit Message

Herbert Xu April 12, 2025, 10:47 a.m. UTC
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>
---
 crypto/shash.c        | 18 +-----------------
 include/crypto/hash.h |  3 +--
 2 files changed, 2 insertions(+), 19 deletions(-)
diff mbox series

Patch

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)