aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/usb
diff options
context:
space:
mode:
authorBenoit Taine <benoit.taine@lip6.fr>2014-05-26 11:21:23 -0400
committerDavid S. Miller <davem@davemloft.net>2014-05-30 19:25:15 -0400
commitc4438f03ca439daa349d93d7102ed36422dfcd7f (patch)
tree331e736ee045f1cd5f684d7d8ce5fc342faa1202 /drivers/net/usb
parent958c492c55bff6fa0b3430e9824dc83597c88aa6 (diff)
r8152: Use kmemdup instead of kmalloc + memcpy
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>
Diffstat (limited to 'drivers/net/usb')
-rw-r--r--drivers/net/usb/r8152.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 9f91c7aba4b0..25431965a625 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -630,12 +630,10 @@ int set_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
630 int ret; 630 int ret;
631 void *tmp; 631 void *tmp;
632 632
633 tmp = kmalloc(size, GFP_KERNEL); 633 tmp = kmemdup(data, size, GFP_KERNEL);
634 if (!tmp) 634 if (!tmp)
635 return -ENOMEM; 635 return -ENOMEM;
636 636
637 memcpy(tmp, data, size);
638
639 ret = usb_control_msg(tp->udev, usb_sndctrlpipe(tp->udev, 0), 637 ret = usb_control_msg(tp->udev, usb_sndctrlpipe(tp->udev, 0),
640 RTL8152_REQ_SET_REGS, RTL8152_REQT_WRITE, 638 RTL8152_REQ_SET_REGS, RTL8152_REQT_WRITE,
641 value, index, tmp, size, 500); 639 value, index, tmp, size, 500);