Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99bf2366 authored by Julia Lawall's avatar Julia Lawall Committed by David S. Miller
Browse files

drivers/net/usb: Use kmemdup

Use kmemdup when some other buffer is immediately copied into the
allocated region.

A simplified version of the semantic patch that makes this change is as
follows: (http://coccinelle.lip6.fr/

)

// <smpl>
@@
expression from,to,size,flag;
statement S;
@@

-  to = \(kmalloc\|kzalloc\)(size,flag);
+  to = kmemdup(from,size,flag);
   if (to==NULL || ...) S
-  memcpy(to, from, size);
// </smpl>

Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 175c0441
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -224,10 +224,9 @@ static int asix_write_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
		   cmd, value, index, size);

	if (data) {
		buf = kmalloc(size, GFP_KERNEL);
		buf = kmemdup(data, size, GFP_KERNEL);
		if (!buf)
			goto out;
		memcpy(buf, data, size);
	}

	err = usb_control_msg(
+1 −3
Original line number Diff line number Diff line
@@ -142,12 +142,10 @@ static int mcs7830_set_reg(struct usbnet *dev, u16 index, u16 size, const void *
	int ret;
	void *buffer;

	buffer = kmalloc(size, GFP_NOIO);
	buffer = kmemdup(data, size, GFP_NOIO);
	if (buffer == NULL)
		return -ENOMEM;

	memcpy(buffer, data, size);

	ret = usb_control_msg(xdev, usb_sndctrlpipe(xdev, 0), MCS7830_WR_BREQ,
			      MCS7830_WR_BMREQ, 0x0000, index, buffer,
			      size, MCS7830_CTRL_TIMEOUT);