| From baf43c6eace43868e490f18560287fa3481b2159 Mon Sep 17 00:00:00 2001 |
| From: Tiffany Lin <tiffany.lin@mediatek.com> |
| Date: Mon, 14 Mar 2016 08:16:14 -0300 |
| Subject: [media] media: v4l2-compat-ioctl32: fix missing reserved field copy in put_v4l2_create32 |
| |
| From: Tiffany Lin <tiffany.lin@mediatek.com> |
| |
| commit baf43c6eace43868e490f18560287fa3481b2159 upstream. |
| |
| In v4l2-compliance utility, test VIDIOC_CREATE_BUFS will check whether reserved |
| filed of v4l2_create_buffers filled with zero |
| Reserved field is filled with zero in v4l_create_bufs. |
| This patch copy reserved field of v4l2_create_buffer from kernel space to user |
| space |
| |
| Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com> |
| Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c |
| +++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c |
| @@ -280,7 +280,8 @@ static int put_v4l2_format32(struct v4l2 |
| static int put_v4l2_create32(struct v4l2_create_buffers *kp, struct v4l2_create_buffers32 __user *up) |
| { |
| if (!access_ok(VERIFY_WRITE, up, sizeof(struct v4l2_create_buffers32)) || |
| - copy_to_user(up, kp, offsetof(struct v4l2_create_buffers32, format))) |
| + copy_to_user(up, kp, offsetof(struct v4l2_create_buffers32, format)) || |
| + copy_to_user(up->reserved, kp->reserved, sizeof(kp->reserved))) |
| return -EFAULT; |
| return __put_v4l2_format32(&kp->format, &up->format); |
| } |