ecryptfs: use crypto_shash_tfm_digest()
authorEric Biggers <ebiggers@google.com>
Sat, 2 May 2020 05:31:16 +0000 (22:31 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 May 2020 05:32:15 +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.

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

index 2c449ae..0681540 100644 (file)
@@ -48,18 +48,6 @@ void ecryptfs_from_hex(char *dst, char *src, int dst_size)
        }
 }
 
-static int ecryptfs_hash_digest(struct crypto_shash *tfm,
-                               char *src, int len, char *dst)
-{
-       SHASH_DESC_ON_STACK(desc, tfm);
-       int err;
-
-       desc->tfm = tfm;
-       err = crypto_shash_digest(desc, src, len, dst);
-       shash_desc_zero(desc);
-       return err;
-}
-
 /**
  * ecryptfs_calculate_md5 - calculates the md5 of @src
  * @dst: Pointer to 16 bytes of allocated memory
@@ -74,11 +62,8 @@ static int ecryptfs_calculate_md5(char *dst,
                                  struct ecryptfs_crypt_stat *crypt_stat,
                                  char *src, int len)
 {
-       struct crypto_shash *tfm;
-       int rc = 0;
+       int rc = crypto_shash_tfm_digest(crypt_stat->hash_tfm, src, len, dst);
 
-       tfm = crypt_stat->hash_tfm;
-       rc = ecryptfs_hash_digest(tfm, src, len, dst);
        if (rc) {
                printk(KERN_ERR
                       "%s: Error computing crypto hash; rc = [%d]\n",