Commit ffe3ee8b authored by Ben Hutchings's avatar Ben Hutchings Committed by Herbert Xu

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: 74ed87e7 ("crypto: omap - add base support library for common ...")
Signed-off-by: default avatarBen Hutchings <ben.hutchings@mind.be>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 9491923e
...@@ -210,7 +210,7 @@ void omap_crypto_cleanup(struct scatterlist *sg, struct scatterlist *orig, ...@@ -210,7 +210,7 @@ void omap_crypto_cleanup(struct scatterlist *sg, struct scatterlist *orig,
buf = sg_virt(sg); buf = sg_virt(sg);
pages = get_order(len); 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); omap_crypto_copy_data(sg, orig, offset, len);
if (flags & OMAP_CRYPTO_DATA_COPIED) if (flags & OMAP_CRYPTO_DATA_COPIED)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment