I have a series to remove all uses of compat_alloc_user_space() and copy_in_user() from the kernel, this is the part of it that involves the v4l2 compat code. The resulting code is significantly shorter and arguably more readable, but I have not done any testing beyond compilation on it, so at the minimum this first needs to pass the test suite for both native and compat users space. Given the complexity of the code, I am fairly sure that there are bugs I missed. Please review and test if possible. Arnd Arnd Bergmann (8): media: v4l2: prepare compat-ioctl rework media: v4l2: remove unneeded compat ioctl handlers media: v4l2: move v4l2_ext_controls conversion media: v4l2: move compat handling for v4l2_buffer media: v4l2: allocate v4l2_clip objects early media: v4l2: convert v4l2_format compat ioctls media: v4l2: remaining compat handlers media: v4l2: remove remaining compat_ioctl drivers/media/common/saa7146/saa7146_video.c | 6 +- drivers/media/pci/bt8xx/bttv-driver.c | 8 +- drivers/media/pci/saa7134/saa7134-video.c | 19 +- .../media/test-drivers/vivid/vivid-vid-cap.c | 18 +- .../media/test-drivers/vivid/vivid-vid-out.c | 18 +- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 1774 ++++++----------- drivers/media/v4l2-core/v4l2-ioctl.c | 120 +- include/media/v4l2-ioctl.h | 11 + include/uapi/linux/videodev2.h | 2 +- 9 files changed, 729 insertions(+), 1247 deletions(-) -- 2.27.0