aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorBenoit Taine <benoit.taine@lip6.fr>2014-05-26 11:21:20 -0400
committerFelipe Balbi <balbi@ti.com>2014-06-30 13:27:09 -0400
commit58b949e0842a4751eec77edd60bd6178cef5b8de (patch)
tree009a5f34d67216a11f306e13b6d7ab8abdd3063f /drivers/usb
parenteac44dc4e769a0f1db244dea13e10923c2877887 (diff)
usb: gadget: 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: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/configfs.c4
-rw-r--r--drivers/usb/gadget/lpc32xx_udc.c3
2 files changed, 2 insertions, 5 deletions
diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c
index 2ddcd635ca2a..bcc2a6248187 100644
--- a/drivers/usb/gadget/configfs.c
+++ b/drivers/usb/gadget/configfs.c
@@ -1021,12 +1021,10 @@ static ssize_t ext_prop_data_store(struct usb_os_desc_ext_prop *ext_prop,
1021 1021
1022 if (page[len - 1] == '\n' || page[len - 1] == '\0') 1022 if (page[len - 1] == '\n' || page[len - 1] == '\0')
1023 --len; 1023 --len;
1024 new_data = kzalloc(len, GFP_KERNEL); 1024 new_data = kmemdup(page, len, GFP_KERNEL);
1025 if (!new_data) 1025 if (!new_data)
1026 return -ENOMEM; 1026 return -ENOMEM;
1027 1027
1028 memcpy(new_data, page, len);
1029
1030 if (desc->opts_mutex) 1028 if (desc->opts_mutex)
1031 mutex_lock(desc->opts_mutex); 1029 mutex_lock(desc->opts_mutex);
1032 kfree(ext_prop->data); 1030 kfree(ext_prop->data);
diff --git a/drivers/usb/gadget/lpc32xx_udc.c b/drivers/usb/gadget/lpc32xx_udc.c
index c77c6872b3ef..a93f64b9e632 100644
--- a/drivers/usb/gadget/lpc32xx_udc.c
+++ b/drivers/usb/gadget/lpc32xx_udc.c
@@ -3045,11 +3045,10 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev)
3045 dma_addr_t dma_handle; 3045 dma_addr_t dma_handle;
3046 struct device_node *isp1301_node; 3046 struct device_node *isp1301_node;
3047 3047
3048 udc = kzalloc(sizeof(*udc), GFP_KERNEL); 3048 udc = kmemdup(&controller_template, sizeof(*udc), GFP_KERNEL);
3049 if (!udc) 3049 if (!udc)
3050 return -ENOMEM; 3050 return -ENOMEM;
3051 3051
3052 memcpy(udc, &controller_template, sizeof(*udc));
3053 for (i = 0; i <= 15; i++) 3052 for (i = 0; i <= 15; i++)
3054 udc->ep[i].udc = udc; 3053 udc->ep[i].udc = udc;
3055 udc->gadget.ep0 = &udc->ep[0].ep; 3054 udc->gadget.ep0 = &udc->ep[0].ep;