summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorYueHaibing <yuehaibing@huawei.com>2019-01-21 07:57:00 +0000
committerHerbert Xu <herbert@gondor.apana.org.au>2019-02-01 14:42:03 +0800
commit7e33d4d48974e06745514a68c8b1670e5006a4dd (patch)
tree3be24ecc27bf99ed59c3fcd0bcebb62615d8740d /crypto
parent231baecdef7a906579925ccf1bd45aa734f32320 (diff)
downloadlinux-stable-7e33d4d48974e06745514a68c8b1670e5006a4dd.tar.gz
linux-stable-7e33d4d48974e06745514a68c8b1670e5006a4dd.tar.bz2
linux-stable-7e33d4d48974e06745514a68c8b1670e5006a4dd.zip
crypto: seqiv - Use kmemdup in seqiv_aead_encrypt()
Use kmemdup rather than duplicating its implementation Signed-off-by: YueHaibing <yuehaibing@huawei.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/seqiv.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/crypto/seqiv.c b/crypto/seqiv.c
index 64a412be255e..ed1b0e9f2436 100644
--- a/crypto/seqiv.c
+++ b/crypto/seqiv.c
@@ -89,13 +89,12 @@ static int seqiv_aead_encrypt(struct aead_request *req)
if (unlikely(!IS_ALIGNED((unsigned long)info,
crypto_aead_alignmask(geniv) + 1))) {
- info = kmalloc(ivsize, req->base.flags &
- CRYPTO_TFM_REQ_MAY_SLEEP ? GFP_KERNEL:
- GFP_ATOMIC);
+ info = kmemdup(req->iv, ivsize, req->base.flags &
+ CRYPTO_TFM_REQ_MAY_SLEEP ? GFP_KERNEL :
+ GFP_ATOMIC);
if (!info)
return -ENOMEM;
- memcpy(info, req->iv, ivsize);
compl = seqiv_aead_encrypt_complete;
data = req;
}