1
0
Fork 0

crypto: aead - Preserve in-place processing in old_crypt

This patch tries to preserve in-place processing in old_crypt as
various algorithms are optimised for in-place processing where
src == dst.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
hifive-unleashed-5.1
Herbert Xu 2015-05-27 14:37:29 +08:00
parent fdaef75f66
commit b455eb80f1
1 changed files with 2 additions and 1 deletions

View File

@ -107,7 +107,8 @@ static int old_crypt(struct aead_request *req,
return crypt(req);
src = scatterwalk_ffwd(nreq->srcbuf, req->src, req->assoclen);
dst = scatterwalk_ffwd(nreq->dstbuf, req->dst, req->assoclen);
dst = req->src == req->dst ?
src : scatterwalk_ffwd(nreq->dstbuf, req->dst, req->assoclen);
aead_request_set_tfm(&nreq->subreq, aead);
aead_request_set_callback(&nreq->subreq, aead_request_flags(req),