diff options
author | Horia Geantă <horia.geanta@nxp.com> | 2020-07-22 15:14:54 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2020-07-31 18:25:27 +1000 |
commit | b7ec41da3b8314d262aef7be09b5684c5f9dd43a (patch) | |
tree | 8476b44afa431d81c88a78e2c114287daee7a690 /drivers/crypto/caam | |
parent | d9f2d010302e858cada492c99da301858916ff28 (diff) | |
download | linux-stable-b7ec41da3b8314d262aef7be09b5684c5f9dd43a.tar.gz linux-stable-b7ec41da3b8314d262aef7be09b5684c5f9dd43a.tar.bz2 linux-stable-b7ec41da3b8314d262aef7be09b5684c5f9dd43a.zip |
crypto: caam/qi2 - create ahash shared descriptors only once
For keyed hash algorithms, shared descriptors are currently generated
twice:
-at tfm initialization time, in cra_init() callback
-in setkey() callback
Since it's mandatory to call setkey() for keyed algorithms, drop the
generation in cra_init().
This is similar to the change in caamhash (caam/jr top-level library)
commit 9a2537d0ebc9 ("crypto: caam - create ahash shared descriptors only once")
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/caam')
-rw-r--r-- | drivers/crypto/caam/caamalg_qi2.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/crypto/caam/caamalg_qi2.c b/drivers/crypto/caam/caamalg_qi2.c index 811d34eee4f2..1e901344db67 100644 --- a/drivers/crypto/caam/caamalg_qi2.c +++ b/drivers/crypto/caam/caamalg_qi2.c @@ -4500,7 +4500,11 @@ static int caam_hash_cra_init(struct crypto_tfm *tfm) crypto_ahash_set_reqsize(__crypto_ahash_cast(tfm), sizeof(struct caam_hash_state)); - return ahash_set_sh_desc(ahash); + /* + * For keyed hash algorithms shared descriptors + * will be created later in setkey() callback + */ + return alg->setkey ? 0 : ahash_set_sh_desc(ahash); } static void caam_hash_cra_exit(struct crypto_tfm *tfm) |