summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2020-12-20 21:17:17 +0100
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2021-01-12 17:06:58 +0100
commit62a1255152be2cb4291fb3f0208bd837d33a8e2d (patch)
treee67f06d83c855d28a8d805d61d7c48bdb64fbe87
parentfb18802a338b36f675a388fc03d2aa504a0d0899 (diff)
downloadlinux-62a1255152be2cb4291fb3f0208bd837d33a8e2d.tar.bz2
media: v4l: ioctl: Use kmalloc to allocate a small chunk of memory
kvmalloc() was used to allocate 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@kernel.org> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-rw-r--r--drivers/media/v4l2-core/v4l2-ioctl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index 9906b41004e9..8d5d9c39c162 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 @@ out_array_args:
err = -EFAULT;
out:
kvfree(array_buf);
- kvfree(mbuf);
+ kfree(mbuf);
return err;
}