OSDN Git Service

fscrypt: use crypto_shash_tfm_digest()
authorEric Biggers <ebiggers@google.com>
Sat, 2 May 2020 05:31:15 +0000 (22:31 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 May 2020 05:32:14 +0000 (15:32 +1000)
Instead of manually allocating a 'struct shash_desc' on the stack and
calling crypto_shash_digest(), switch to using the new helper function
crypto_shash_tfm_digest() which does this for us.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
fs/crypto/fname.c
fs/crypto/hkdf.c

index 4c21244..5c9fb01 100644 (file)
@@ -83,13 +83,8 @@ static int fscrypt_do_sha256(const u8 *data, unsigned int data_len, u8 *result)
                        tfm = prev_tfm;
                }
        }
-       {
-               SHASH_DESC_ON_STACK(desc, tfm);
 
-               desc->tfm = tfm;
-
-               return crypto_shash_digest(desc, data, data_len, result);
-       }
+       return crypto_shash_tfm_digest(tfm, data, data_len, result);
 }
 
 static inline bool fscrypt_is_dot_dotdot(const struct qstr *str)
index efb95bd..0cba792 100644 (file)
@@ -44,17 +44,13 @@ static int hkdf_extract(struct crypto_shash *hmac_tfm, const u8 *ikm,
                        unsigned int ikmlen, u8 prk[HKDF_HASHLEN])
 {
        static const u8 default_salt[HKDF_HASHLEN];
-       SHASH_DESC_ON_STACK(desc, hmac_tfm);
        int err;
 
        err = crypto_shash_setkey(hmac_tfm, default_salt, HKDF_HASHLEN);
        if (err)
                return err;
 
-       desc->tfm = hmac_tfm;
-       err = crypto_shash_digest(desc, ikm, ikmlen, prk);
-       shash_desc_zero(desc);
-       return err;
+       return crypto_shash_tfm_digest(hmac_tfm, ikm, ikmlen, prk);
 }
 
 /*