From: Fabio Estevam <[email protected]>

Use kmemdup() rather than duplicating its implementation.

By usign kmemdup() we can also get rid of the 'val' variable.

Detected with Coccinelle script.

Signed-off-by: Fabio Estevam <[email protected]>
---
Changes since v1:
- Drop the val variable and return kmemdup() directly.

 drivers/crypto/caam/caampkc.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/crypto/caam/caampkc.c b/drivers/crypto/caam/caampkc.c
index 979072b..6f99013 100644
--- a/drivers/crypto/caam/caampkc.c
+++ b/drivers/crypto/caam/caampkc.c
@@ -783,19 +783,12 @@ static u8 *caam_read_rsa_crt(const u8 *ptr, size_t 
nbytes, size_t dstlen)
  */
 static inline u8 *caam_read_raw_data(const u8 *buf, size_t *nbytes)
 {
-       u8 *val;
 
        caam_rsa_drop_leading_zeros(&buf, nbytes);
        if (!*nbytes)
                return NULL;
 
-       val = kzalloc(*nbytes, GFP_DMA | GFP_KERNEL);
-       if (!val)
-               return NULL;
-
-       memcpy(val, buf, *nbytes);
-
-       return val;
+       return kmemdup(buf, *nbytes, GFP_DMA | GFP_KERNEL);
 }
 
 static int caam_rsa_check_key_length(unsigned int len)
-- 
2.7.4

Reply via email to