r8152: Use kmemdup instead of kmalloc + memcpy
authorBenoit Taine <benoit.taine@lip6.fr>
Mon, 26 May 2014 15:21:23 +0000 (17:21 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 May 2014 23:25:15 +0000 (16:25 -0700)
This issue was reported by coccicheck using the semantic patch
at scripts/coccinelle/api/memdup.cocci

Signed-off-by: Benoit Taine <benoit.taine@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/r8152.c

index 9f91c7a..2543196 100644 (file)
@@ -630,12 +630,10 @@ int set_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
        int ret;
        void *tmp;
 
-       tmp = kmalloc(size, GFP_KERNEL);
+       tmp = kmemdup(data, size, GFP_KERNEL);
        if (!tmp)
                return -ENOMEM;
 
-       memcpy(tmp, data, size);
-
        ret = usb_control_msg(tp->udev, usb_sndctrlpipe(tp->udev, 0),
                               RTL8152_REQ_SET_REGS, RTL8152_REQT_WRITE,
                               value, index, tmp, size, 500);