summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2017-11-16 04:03:33 (GMT)
committerAlex Shi <alex.shi@linaro.org>2017-11-16 04:03:33 (GMT)
commit56f4a560c6d6318b5a8e18a1b3e44909a5158d1e (patch)
tree3193b43eebd2cde7b13de9eb4b37cb5a1dccfdd0 /crypto
parent3871608e4cb995b0fb9c630da9ac45b246151fef (diff)
parent9b609ba2c2df8290054e5c62be69101b43e2a976 (diff)
downloadlinux-56f4a560c6d6318b5a8e18a1b3e44909a5158d1e.tar.xz
Merge tag 'v4.9.62' into linux-linaro-lsk-v4.9
This is the 4.9.62 stable release
Diffstat (limited to 'crypto')
-rw-r--r--crypto/ccm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/ccm.c b/crypto/ccm.c
index 006d857..b3ace63 100644
--- a/crypto/ccm.c
+++ b/crypto/ccm.c
@@ -413,7 +413,7 @@ static int crypto_ccm_decrypt(struct aead_request *req)
unsigned int cryptlen = req->cryptlen;
u8 *authtag = pctx->auth_tag;
u8 *odata = pctx->odata;
- u8 *iv = req->iv;
+ u8 *iv = pctx->idata;
int err;
cryptlen -= authsize;
@@ -429,6 +429,8 @@ static int crypto_ccm_decrypt(struct aead_request *req)
if (req->src != req->dst)
dst = pctx->dst;
+ memcpy(iv, req->iv, 16);
+
skcipher_request_set_tfm(skreq, ctx->ctr);
skcipher_request_set_callback(skreq, pctx->flags,
crypto_ccm_decrypt_done, req);