diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2016-02-03 10:46:51 -0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-02-06 15:33:28 +0800 |
commit | bceab44eed7f37110136860cb2992fbd6702588d (patch) | |
tree | 1d7069ba9a5e42c413d7c4fa841b7e1aa62f767c /drivers/crypto/sahara.c | |
parent | 6e56201857fabf0249204704e2a15e6f61d5a05c (diff) | |
download | linux-bceab44eed7f37110136860cb2992fbd6702588d.tar.gz linux-bceab44eed7f37110136860cb2992fbd6702588d.tar.bz2 linux-bceab44eed7f37110136860cb2992fbd6702588d.zip |
crypto: sahara - avoid needlessly saving and restoring sahara_ctx
Based on commit 434b421241f2d0 ("crypto: caam - avoid needlessly saving and
restoring caam_hash_ctx") from Russell King.
When exporting and importing the hash state, we will only export and
import into hashes which share the same struct crypto_ahash pointer.
(See hash_accept->af_alg_accept->hash_accept_parent.)
This means that saving the sahara_ctx structure on export, and
restoring it on import is a waste of resources. So, remove this code.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/sahara.c')
-rw-r--r-- | drivers/crypto/sahara.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/crypto/sahara.c b/drivers/crypto/sahara.c index 7e8147df6e0d..9db09b643a44 100644 --- a/drivers/crypto/sahara.c +++ b/drivers/crypto/sahara.c @@ -1162,26 +1162,18 @@ static int sahara_sha_digest(struct ahash_request *req) static int sahara_sha_export(struct ahash_request *req, void *out) { - struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); - struct sahara_ctx *ctx = crypto_ahash_ctx(ahash); struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); - memcpy(out, ctx, sizeof(struct sahara_ctx)); - memcpy(out + sizeof(struct sahara_sha_reqctx), rctx, - sizeof(struct sahara_sha_reqctx)); + memcpy(out, rctx, sizeof(struct sahara_sha_reqctx)); return 0; } static int sahara_sha_import(struct ahash_request *req, const void *in) { - struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); - struct sahara_ctx *ctx = crypto_ahash_ctx(ahash); struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); - memcpy(ctx, in, sizeof(struct sahara_ctx)); - memcpy(rctx, in + sizeof(struct sahara_sha_reqctx), - sizeof(struct sahara_sha_reqctx)); + memcpy(rctx, in, sizeof(struct sahara_sha_reqctx)); return 0; } |