Re: [PATCH -next] staging: greybus: camera: Switch to memdup_user_nul()

From: Dan Carpenter
Date: Wed Mar 31 2021 - 06:25:20 EST


On Wed, Mar 31, 2021 at 05:52:01PM +0800, Yang Yingliang wrote:
> Use memdup_user_nul() helper instead of open-coding to
> simplify the code.
>
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
> ---
> drivers/staging/greybus/camera.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/staging/greybus/camera.c b/drivers/staging/greybus/camera.c
> index b570e13394ac..0f005facffbc 100644
> --- a/drivers/staging/greybus/camera.c
> +++ b/drivers/staging/greybus/camera.c
> @@ -1120,16 +1120,10 @@ static ssize_t gb_camera_debugfs_write(struct file *file,
> if (len > 1024)
> return -EINVAL;
>
> - kbuf = kmalloc(len + 1, GFP_KERNEL);
> - if (!kbuf)
> + kbuf = memdup_user_nul(buf, len);
> + if (IS_ERR(kbuf))
> return -ENOMEM;

return PTR_ERR(kbuf);

>
> - if (copy_from_user(kbuf, buf, len)) {
> - ret = -EFAULT;
> - goto done;
> - }
> -
> - kbuf[len] = '\0';
>
^^^^^^^^
Please delete this blank line so there aren't two blank lines in a row.

> ret = op->execute(gcam, kbuf, len);

regards,
dan carpenter