Use kmemdup rather than duplicating its implementation

Signed-off-by: YueHaibing <yuehaib...@huawei.com>
---
 drivers/crypto/ccp/ccp-crypto-rsa.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/crypto/ccp/ccp-crypto-rsa.c 
b/drivers/crypto/ccp/ccp-crypto-rsa.c
index 0b8aab009e7b..841acdffbc3c 100644
--- a/drivers/crypto/ccp/ccp-crypto-rsa.c
+++ b/drivers/crypto/ccp/ccp-crypto-rsa.c
@@ -37,10 +37,9 @@ static inline int ccp_copy_and_save_keypart(u8 **kpbuf, 
unsigned int *kplen,
                if (buf[nskip])
                        break;
        *kplen = sz - nskip;
-       *kpbuf = kzalloc(*kplen, GFP_KERNEL);
+       *kpbuf = kmemdup(buf + nskip, *kplen, GFP_KERNEL);
        if (!*kpbuf)
                return -ENOMEM;
-       memcpy(*kpbuf, buf + nskip, *kplen);
 
        return 0;
 }



Reply via email to