Messages in this thread | | | Date | Mon, 15 May 2017 12:14:33 +0200 | From | Johan Hovold <> | Subject | Re: [PATCH] USB: iowarrior: use memdup_user |
| |
On Sat, May 13, 2017 at 11:16:00AM +0800, Geliang Tang wrote: > Use memdup_user() helper instead of open-coding to simplify the code. > > Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Looks good to me:
Reviewed-by: Johan Hovold <johan@kernel.org>
> --- > drivers/usb/misc/iowarrior.c | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c > index 7756953..816afad 100644 > --- a/drivers/usb/misc/iowarrior.c > +++ b/drivers/usb/misc/iowarrior.c > @@ -368,14 +368,9 @@ static ssize_t iowarrior_write(struct file *file, > case USB_DEVICE_ID_CODEMERCS_IOWPV2: > case USB_DEVICE_ID_CODEMERCS_IOW40: > /* IOW24 and IOW40 use a synchronous call */ > - buf = kmalloc(count, GFP_KERNEL); > - if (!buf) { > - retval = -ENOMEM; > - goto exit; > - } > - if (copy_from_user(buf, user_buffer, count)) { > - retval = -EFAULT; > - kfree(buf); > + buf = memdup_user(user_buffer, count); > + if (IS_ERR(buf)) { > + retval = PTR_ERR(buf); > goto exit; > } > retval = usb_set_report(dev->interface, 2, 0, buf, count);
| |