Subject: Re: [PATCH] net: usb: ch9200: use kmemdup instead of kmalloc + memcpy

From: Bjørn Mork <[email-masked]>
Date: Wed, 25 Nov 2015 17:19:12 +0100

Anup Limbu <[email-masked]> writes:

> replace kmalloc + memset with kmemdup
>
> Signed-off-by: Anup Limbu <[email-masked]>
> ---
>  drivers/net/usb/ch9200.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/usb/ch9200.c b/drivers/net/usb/ch9200.c
> index 5e151e6..8a40202 100644
> --- a/drivers/net/usb/ch9200.c
> +++ b/drivers/net/usb/ch9200.c
> @@ -155,12 +155,11 @@ static int control_write(struct usbnet *dev, unsigned char request,
>  		   index, size);
>  
>  	if (data) {
> -		buf = kmalloc(size, GFP_KERNEL);
> +		buf = kmemdup(data, size, GFP_KERNEL);
>  		if (!buf) {
>  			err = -ENOMEM;
>  			goto err_out;
>  		}
> -		memcpy(buf, data, size);
>  	}
>  
>  	err = usb_control_msg(dev->udev,

Would it be better to replace control_read() and control_write() with
the usbnet_read_cmd() and usbnet_write_cmd() if you are going to clean
this up?

Bjørn