summaryrefslogtreecommitdiff
path: root/crypto/ccm.c
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2017-12-11 17:01:08 +1100
committerJames Morris <james.l.morris@oracle.com>2017-12-11 17:01:08 +1100
commit4a06f454768a7e11e8f10b900b450786546cbba1 (patch)
tree149f57c9ce794734883e326d63040b1381dc1a59 /crypto/ccm.c
parentfe6ec4634c4b41ea65f055ea709a6f3d5bf67bec (diff)
parent8dce1988dfaa3668372990f05ee2202d9d9521b5 (diff)
downloadlinux-crypto-4a06f454768a7e11e8f10b900b450786546cbba1.tar.gz
linux-crypto-4a06f454768a7e11e8f10b900b450786546cbba1.zip
Sync to v4.15-rc3 for security subsystem developers to work against.
Diffstat (limited to 'crypto/ccm.c')
-rw-r--r--crypto/ccm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/ccm.c b/crypto/ccm.c
index 1ce37ae0..0a083342 100644
--- a/crypto/ccm.c
+++ b/crypto/ccm.c
@@ -363,7 +363,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;
@@ -379,6 +379,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);