Hi Sajari, Thank you for the patch. On Sun, Dec 20, 2020 at 11:30:12PM +0200, Sakari Ailus wrote: > kvmalloc() was used to release the temporary memory buffer that was used > to contain both the IOCTL argument as well as a possible array argument > that could have been large. Now that the two are separated, the IOCTL > argument is known to be small in size. Use kmalloc to allocate it instead > of kvmalloc. Similarly for releasing it. > > Suggested-by: Arnd Bergmann <arnd@xxxxxxxxxx> > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > drivers/media/v4l2-core/v4l2-ioctl.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c > index 9906b41004e9b..8d5d9c39c1622 100644 > --- a/drivers/media/v4l2-core/v4l2-ioctl.c > +++ b/drivers/media/v4l2-core/v4l2-ioctl.c > @@ -3300,7 +3300,7 @@ video_usercopy(struct file *file, unsigned int orig_cmd, unsigned long arg, > parg = sbuf; > } else { > /* too big to allocate from stack */ > - mbuf = kvmalloc(ioc_size, GFP_KERNEL); > + mbuf = kmalloc(ioc_size, GFP_KERNEL); > if (NULL == mbuf) > return -ENOMEM; > parg = mbuf; > @@ -3377,7 +3377,7 @@ video_usercopy(struct file *file, unsigned int orig_cmd, unsigned long arg, > err = -EFAULT; > out: > kvfree(array_buf); > - kvfree(mbuf); > + kfree(mbuf); > return err; > } > -- Regards, Laurent Pinchart