media: v4l2: remove unneeded compat ioctl handlers
authorArnd Bergmann <arnd@arndb.de>
Fri, 30 Oct 2020 16:55:23 +0000 (17:55 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 16 Nov 2020 09:31:05 +0000 (10:31 +0100)
These seven commands are all compatible and do not need any
conversion handlers. The existing ones just copy 32-bit
integers around, and those are always compatible.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/v4l2-core/v4l2-compat-ioctl32.c

index 7c939d5..a76f6ac 100644 (file)
@@ -1406,14 +1406,6 @@ static int put_v4l2_edid32(struct v4l2_edid __user *p64,
 #define VIDIOC_PREPARE_BUF32   _IOWR('V', 93, struct v4l2_buffer32)
 #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct v4l2_buffer32_time32)
 
-#define VIDIOC_OVERLAY32       _IOW ('V', 14, s32)
-#define VIDIOC_STREAMON32      _IOW ('V', 18, s32)
-#define VIDIOC_STREAMOFF32     _IOW ('V', 19, s32)
-#define VIDIOC_G_INPUT32       _IOR ('V', 38, s32)
-#define VIDIOC_S_INPUT32       _IOWR('V', 39, s32)
-#define VIDIOC_G_OUTPUT32      _IOR ('V', 46, s32)
-#define VIDIOC_S_OUTPUT32      _IOWR('V', 47, s32)
-
 unsigned int v4l2_compat_translate_cmd(unsigned int cmd)
 {
        switch (cmd) {
@@ -1544,13 +1536,6 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
        case VIDIOC_DQEVENT32: ncmd = VIDIOC_DQEVENT; break;
        case VIDIOC_DQEVENT32_TIME32: ncmd = VIDIOC_DQEVENT_TIME32; break;
 #endif
-       case VIDIOC_OVERLAY32: ncmd = VIDIOC_OVERLAY; break;
-       case VIDIOC_STREAMON32: ncmd = VIDIOC_STREAMON; break;
-       case VIDIOC_STREAMOFF32: ncmd = VIDIOC_STREAMOFF; break;
-       case VIDIOC_G_INPUT32: ncmd = VIDIOC_G_INPUT; break;
-       case VIDIOC_S_INPUT32: ncmd = VIDIOC_S_INPUT; break;
-       case VIDIOC_G_OUTPUT32: ncmd = VIDIOC_G_OUTPUT; break;
-       case VIDIOC_S_OUTPUT32: ncmd = VIDIOC_S_OUTPUT; break;
        case VIDIOC_CREATE_BUFS32: ncmd = VIDIOC_CREATE_BUFS; break;
        case VIDIOC_PREPARE_BUF32: ncmd = VIDIOC_PREPARE_BUF; break;
        case VIDIOC_PREPARE_BUF32_TIME32: ncmd = VIDIOC_PREPARE_BUF_TIME32; break;
@@ -1565,24 +1550,6 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
         * argument into it.
         */
        switch (cmd) {
-       case VIDIOC_OVERLAY32:
-       case VIDIOC_STREAMON32:
-       case VIDIOC_STREAMOFF32:
-       case VIDIOC_S_INPUT32:
-       case VIDIOC_S_OUTPUT32:
-               err = alloc_userspace(sizeof(unsigned int), 0, &new_p64);
-               if (!err && assign_in_user((unsigned int __user *)new_p64,
-                                          (compat_uint_t __user *)p32))
-                       err = -EFAULT;
-               compatible_arg = 0;
-               break;
-
-       case VIDIOC_G_INPUT32:
-       case VIDIOC_G_OUTPUT32:
-               err = alloc_userspace(sizeof(unsigned int), 0, &new_p64);
-               compatible_arg = 0;
-               break;
-
        case VIDIOC_G_EDID32:
        case VIDIOC_S_EDID32:
                err = alloc_userspace(sizeof(struct v4l2_edid), 0, &new_p64);
@@ -1755,15 +1722,6 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
         * the original 32 bits structure.
         */
        switch (cmd) {
-       case VIDIOC_S_INPUT32:
-       case VIDIOC_S_OUTPUT32:
-       case VIDIOC_G_INPUT32:
-       case VIDIOC_G_OUTPUT32:
-               if (assign_in_user((compat_uint_t __user *)p32,
-                                  ((unsigned int __user *)new_p64)))
-                       err = -EFAULT;
-               break;
-
        case VIDIOC_G_FBUF32:
                err = put_v4l2_framebuffer32(new_p64, p32);
                break;