aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorBen Hutchings <ben.hutchings@mind.be>2021-08-11 02:05:55 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2021-08-21 15:44:53 +0800
commitffe3ee8bb68aa6c49832c6c101ab0bb1cb635624 (patch)
treedafc9c944300d1b373f6c410806f2e690e55426f /drivers/crypto
parentcrypto: wp512 - correct a non-kernel-doc comment (diff)
downloadlinux-dev-ffe3ee8bb68aa6c49832c6c101ab0bb1cb635624.tar.xz
linux-dev-ffe3ee8bb68aa6c49832c6c101ab0bb1cb635624.zip
crypto: omap - Avoid redundant copy when using truncated sg list
omap_crypto_cleanup() currently copies data from sg to orig if either copy flag is set. However OMAP_CRYPTO_SG_COPIED means that sg refers to the same pages as orig, truncated to len bytes. There is no need to copy in this case. Only copy data if the OMAP_CRYPTO_DATA_COPIED flag is set. Fixes: 74ed87e7e7f7 ("crypto: omap - add base support library for common ...") Signed-off-by: Ben Hutchings <ben.hutchings@mind.be> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/omap-crypto.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/omap-crypto.c b/drivers/crypto/omap-crypto.c
index 31bdb1d76d11..a4cc6bf146ec 100644
--- a/drivers/crypto/omap-crypto.c
+++ b/drivers/crypto/omap-crypto.c
@@ -210,7 +210,7 @@ void omap_crypto_cleanup(struct scatterlist *sg, struct scatterlist *orig,
buf = sg_virt(sg);
pages = get_order(len);
- if (orig && (flags & OMAP_CRYPTO_COPY_MASK))
+ if (orig && (flags & OMAP_CRYPTO_DATA_COPIED))
omap_crypto_copy_data(sg, orig, offset, len);
if (flags & OMAP_CRYPTO_DATA_COPIED)