crypto: shash - Remove dynamic descsize
authorHerbert Xu <herbert@gondor.apana.org.au>
Sat, 12 Apr 2025 10:47:47 +0000 (18:47 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 16 Apr 2025 07:36:24 +0000 (15:36 +0800)
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
include/crypto/hash.h

index a2a7d6609172341a1816bb11665492fd6b2f4cea..f23bd9cb18736c1b2feee5e153b099123a7ba35e 100644 (file)
@@ -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) {
index eceb2ed04f26759a199e8ffb655e693ab2b8a152..87518cf3b2d8f4900320cb7a864b76b4b5c86c31 100644 (file)
@@ -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)