Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

USB: kmemdup() cleanup in drivers/usb/

replace open coded kmemdup() to save some screen space,
and allow inlining/not inlining to be triggered by gcc.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

authored by

Eric Sesterhenn and committed by
Greg Kroah-Hartman
5d7efe5b 052ac01a

+7 -15
+3 -7
drivers/usb/atm/ueagle-atm.c
··· 401 401 int ret = -ENOMEM; 402 402 u8 *xfer_buff; 403 403 404 - xfer_buff = kmalloc(size, GFP_KERNEL); 404 + xfer_buff = kmemdup(buff, size, GFP_KERNEL); 405 405 if (xfer_buff) { 406 - memcpy(xfer_buff, buff, size); 407 406 ret = usb_control_msg(usb, 408 407 usb_sndctrlpipe(usb, 0), 409 408 LOAD_INTERNAL, ··· 594 595 u8 *xfer_buff; 595 596 int bytes_read; 596 597 597 - xfer_buff = kmalloc(size, GFP_KERNEL); 598 + xfer_buff = kmemdup(data, size, GFP_KERNEL); 598 599 if (!xfer_buff) { 599 600 uea_err(INS_TO_USBDEV(sc), "can't allocate xfer_buff\n"); 600 601 return ret; 601 602 } 602 - 603 - memcpy(xfer_buff, data, size); 604 603 605 604 ret = usb_bulk_msg(sc->usb_dev, 606 605 usb_sndbulkpipe(sc->usb_dev, UEA_IDMA_PIPE), ··· 762 765 u8 *xfer_buff; 763 766 int ret = -ENOMEM; 764 767 765 - xfer_buff = kmalloc(size, GFP_KERNEL); 768 + xfer_buff = kmemdup(data, size, GFP_KERNEL); 766 769 if (!xfer_buff) { 767 770 uea_err(INS_TO_USBDEV(sc), "can't allocate xfer_buff\n"); 768 771 return ret; 769 772 } 770 - memcpy(xfer_buff, data, size); 771 773 772 774 ret = usb_control_msg(sc->usb_dev, usb_sndctrlpipe(sc->usb_dev, 0), 773 775 UCDC_SEND_ENCAPSULATED_COMMAND,
+1 -2
drivers/usb/misc/emi26.c
··· 53 53 static int emi26_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request) 54 54 { 55 55 int result; 56 - unsigned char *buffer = kmalloc (length, GFP_KERNEL); 56 + unsigned char *buffer = kmemdup(data, length, GFP_KERNEL); 57 57 58 58 if (!buffer) { 59 59 err("emi26: kmalloc(%d) failed.", length); 60 60 return -ENOMEM; 61 61 } 62 - memcpy (buffer, data, length); 63 62 /* Note: usb_control_msg returns negative value on error or length of the 64 63 * data that was written! */ 65 64 result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300);
+1 -2
drivers/usb/misc/emi62.c
··· 61 61 static int emi62_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request) 62 62 { 63 63 int result; 64 - unsigned char *buffer = kmalloc (length, GFP_KERNEL); 64 + unsigned char *buffer = kmemdup(data, length, GFP_KERNEL); 65 65 66 66 if (!buffer) { 67 67 err("emi62: kmalloc(%d) failed.", length); 68 68 return -ENOMEM; 69 69 } 70 - memcpy (buffer, data, length); 71 70 /* Note: usb_control_msg returns negative value on error or length of the 72 71 * data that was written! */ 73 72 result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300);
+1 -2
drivers/usb/serial/ezusb.c
··· 31 31 return -ENODEV; 32 32 } 33 33 34 - transfer_buffer = kmalloc (length, GFP_KERNEL); 34 + transfer_buffer = kmemdup(data, length, GFP_KERNEL); 35 35 if (!transfer_buffer) { 36 36 dev_err(&serial->dev->dev, "%s - kmalloc(%d) failed.\n", __FUNCTION__, length); 37 37 return -ENOMEM; 38 38 } 39 - memcpy (transfer_buffer, data, length); 40 39 result = usb_control_msg (serial->dev, usb_sndctrlpipe(serial->dev, 0), bRequest, 0x40, address, 0, transfer_buffer, length, 3000); 41 40 kfree (transfer_buffer); 42 41 return result;
+1 -2
drivers/usb/serial/ipw.c
··· 206 206 207 207 dbg("%s", __FUNCTION__); 208 208 209 - buf_flow_init = kmalloc(16, GFP_KERNEL); 209 + buf_flow_init = kmemdup(buf_flow_static, 16, GFP_KERNEL); 210 210 if (!buf_flow_init) 211 211 return -ENOMEM; 212 - memcpy(buf_flow_init, buf_flow_static, 16); 213 212 214 213 if (port->tty) 215 214 port->tty->low_latency = 1;