diff options
author | YueHaibing <yuehaibing@huawei.com> | 2019-01-21 02:57:00 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2019-02-01 01:42:03 -0500 |
commit | 7e33d4d48974e06745514a68c8b1670e5006a4dd (patch) | |
tree | 3be24ecc27bf99ed59c3fcd0bcebb62615d8740d /crypto/seqiv.c | |
parent | 231baecdef7a906579925ccf1bd45aa734f32320 (diff) |
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/seqiv.c')
-rw-r--r-- | crypto/seqiv.c | 7 |
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) | |||
89 | 89 | ||
90 | if (unlikely(!IS_ALIGNED((unsigned long)info, | 90 | if (unlikely(!IS_ALIGNED((unsigned long)info, |
91 | crypto_aead_alignmask(geniv) + 1))) { | 91 | crypto_aead_alignmask(geniv) + 1))) { |
92 | info = kmalloc(ivsize, req->base.flags & | 92 | info = kmemdup(req->iv, ivsize, req->base.flags & |
93 | CRYPTO_TFM_REQ_MAY_SLEEP ? GFP_KERNEL: | 93 | CRYPTO_TFM_REQ_MAY_SLEEP ? GFP_KERNEL : |
94 | GFP_ATOMIC); | 94 | GFP_ATOMIC); |
95 | if (!info) | 95 | if (!info) |
96 | return -ENOMEM; | 96 | return -ENOMEM; |
97 | 97 | ||
98 | memcpy(info, req->iv, ivsize); | ||
99 | compl = seqiv_aead_encrypt_complete; | 98 | compl = seqiv_aead_encrypt_complete; |
100 | data = req; | 99 | data = req; |
101 | } | 100 | } |