Re: [PATCH] USB: serial: use kmemdup instead of kmalloc + memcpy

From: Johan Hovold
Date: Mon Jun 20 2022 - 09:31:18 EST


On Mon, Jun 20, 2022 at 06:59:39PM +0800, Slark Xiao wrote:
> For code neat purpose, we can use kmemdup to replace
> kmalloc + memcpy.
>
> Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx>
> ---
> drivers/usb/serial/opticon.c | 4 +---
> drivers/usb/serial/sierra.c | 4 +---
> 2 files changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/usb/serial/opticon.c b/drivers/usb/serial/opticon.c
> index aed28c35caff..bca6766a63e6 100644
> --- a/drivers/usb/serial/opticon.c
> +++ b/drivers/usb/serial/opticon.c
> @@ -208,7 +208,7 @@ static int opticon_write(struct tty_struct *tty, struct usb_serial_port *port,
> priv->outstanding_bytes += count;
> spin_unlock_irqrestore(&priv->lock, flags);
>
> - buffer = kmalloc(count, GFP_ATOMIC);
> + buffer = kmemdup(buf, count, GFP_ATOMIC);
> if (!buffer)
> goto error_no_buffer;
>
> @@ -216,8 +216,6 @@ static int opticon_write(struct tty_struct *tty, struct usb_serial_port *port,
> if (!urb)
> goto error_no_urb;
>
> - memcpy(buffer, buf, count);
> -
> usb_serial_debug_data(&port->dev, __func__, count, buffer);
>
> /* The connected devices do not have a bulk write endpoint,

Looks like we have the same pattern also in garmin_write_bulk(). Care to
include that one as well?

Johan