diff options
Diffstat (limited to 'drivers/media/video/v4l2-compat-ioctl32.c')
-rw-r--r-- | drivers/media/video/v4l2-compat-ioctl32.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/media/video/v4l2-compat-ioctl32.c b/drivers/media/video/v4l2-compat-ioctl32.c index 997975d5e024..f77f84bfe714 100644 --- a/drivers/media/video/v4l2-compat-ioctl32.c +++ b/drivers/media/video/v4l2-compat-ioctl32.c | |||
@@ -288,7 +288,7 @@ static int get_v4l2_window32(struct v4l2_window *kp, struct v4l2_window32 __user | |||
288 | 288 | ||
289 | static int put_v4l2_window32(struct v4l2_window *kp, struct v4l2_window32 __user *up) | 289 | static int put_v4l2_window32(struct v4l2_window *kp, struct v4l2_window32 __user *up) |
290 | { | 290 | { |
291 | if (copy_to_user(&up->w, &kp->w, sizeof(up->w)) || | 291 | if (copy_to_user(&up->w, &kp->w, sizeof(kp->w)) || |
292 | put_user(kp->field, &up->field) || | 292 | put_user(kp->field, &up->field) || |
293 | put_user(kp->chromakey, &up->chromakey) || | 293 | put_user(kp->chromakey, &up->chromakey) || |
294 | put_user(kp->clipcount, &up->clipcount)) | 294 | put_user(kp->clipcount, &up->clipcount)) |
@@ -475,6 +475,9 @@ static int get_v4l2_buffer32(struct v4l2_buffer *kp, struct v4l2_buffer32 __user | |||
475 | return -EFAULT; | 475 | return -EFAULT; |
476 | switch (kp->memory) { | 476 | switch (kp->memory) { |
477 | case V4L2_MEMORY_MMAP: | 477 | case V4L2_MEMORY_MMAP: |
478 | if (get_user(kp->length, &up->length) || | ||
479 | get_user(kp->m.offset, &up->m.offset)) | ||
480 | return -EFAULT; | ||
478 | break; | 481 | break; |
479 | case V4L2_MEMORY_USERPTR: | 482 | case V4L2_MEMORY_USERPTR: |
480 | { | 483 | { |
@@ -1077,6 +1080,12 @@ long v4l2_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg) | |||
1077 | case VIDIOC_DBG_G_REGISTER: | 1080 | case VIDIOC_DBG_G_REGISTER: |
1078 | case VIDIOC_DBG_G_CHIP_IDENT: | 1081 | case VIDIOC_DBG_G_CHIP_IDENT: |
1079 | case VIDIOC_S_HW_FREQ_SEEK: | 1082 | case VIDIOC_S_HW_FREQ_SEEK: |
1083 | case VIDIOC_ENUM_DV_PRESETS: | ||
1084 | case VIDIOC_S_DV_PRESET: | ||
1085 | case VIDIOC_G_DV_PRESET: | ||
1086 | case VIDIOC_QUERY_DV_PRESET: | ||
1087 | case VIDIOC_S_DV_TIMINGS: | ||
1088 | case VIDIOC_G_DV_TIMINGS: | ||
1080 | ret = do_video_ioctl(file, cmd, arg); | 1089 | ret = do_video_ioctl(file, cmd, arg); |
1081 | break; | 1090 | break; |
1082 | 1091 | ||