The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> --- diff -u -p a/drivers/hid/hid-roccat-common.c b/drivers/hid/hid-roccat-common.c --- a/drivers/hid/hid-roccat-common.c 2011-11-07 19:39:05.364461084 +0100 +++ b/drivers/hid/hid-roccat-common.c 2011-11-08 10:45:42.781966362 +0100 @@ -49,12 +49,10 @@ int roccat_common_send(struct usb_device char *buf; int len; - buf = kmalloc(size, GFP_KERNEL); + buf = kmemdup(data, size, GFP_KERNEL); if (buf == NULL) return -ENOMEM; - memcpy(buf, data, size); - len = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), HID_REQ_SET_REPORT, USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_OUT, diff -u -p a/drivers/hid/hid-roccat-kone.c b/drivers/hid/hid-roccat-kone.c --- a/drivers/hid/hid-roccat-kone.c 2011-11-07 19:37:44.826571091 +0100 +++ b/drivers/hid/hid-roccat-kone.c 2011-11-08 10:45:45.085330572 +0100 @@ -78,12 +78,10 @@ static int kone_send(struct usb_device * char *buf; int len; - buf = kmalloc(size, GFP_KERNEL); + buf = kmemdup(data, size, GFP_KERNEL); if (buf == NULL) return -ENOMEM; - memcpy(buf, data, size); - len = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), HID_REQ_SET_REPORT, USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_OUT, -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html