Re: [PATCH v3 6/8] media: atomisp: remove compat_ioctl32 code

From: Laurent Pinchart
Date: Mon Jun 14 2021 - 13:08:23 EST


Hi Arnd,

Thank you for the patch.

On Mon, Jun 14, 2021 at 12:34:07PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> This is one of the last remaining users of compat_alloc_user_space()
> and copy_in_user(), which are in the process of getting removed.
>
> As of commit 57e6b6f2303e ("media: atomisp_fops.c: disable
> atomisp_compat_ioctl32"), nothing in this file is actually getting used
> as the only reference has been stubbed out.
>
> Remove the entire file -- anyone willing to restore the functionality
> can equally well just look up the contents in the git history if needed.
>
> Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> Cc: Hans Verkuil <hverkuil@xxxxxxxxx>
> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> Suggested-by: Christoph Hellwig <hch@xxxxxx>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

> ---
> drivers/staging/media/atomisp/Makefile | 1 -
> drivers/staging/media/atomisp/TODO | 5 +
> .../atomisp/pci/atomisp_compat_ioctl32.c | 1202 -----------------
> .../staging/media/atomisp/pci/atomisp_fops.c | 8 +-
> 4 files changed, 8 insertions(+), 1208 deletions(-)
> delete mode 100644 drivers/staging/media/atomisp/pci/atomisp_compat_ioctl32.c
>
> diff --git a/drivers/staging/media/atomisp/Makefile b/drivers/staging/media/atomisp/Makefile
> index 51498b2e85b8..606b7754fdfd 100644
> --- a/drivers/staging/media/atomisp/Makefile
> +++ b/drivers/staging/media/atomisp/Makefile
> @@ -16,7 +16,6 @@ atomisp-objs += \
> pci/atomisp_acc.o \
> pci/atomisp_cmd.o \
> pci/atomisp_compat_css20.o \
> - pci/atomisp_compat_ioctl32.o \
> pci/atomisp_csi2.o \
> pci/atomisp_drvfs.o \
> pci/atomisp_file.o \
> diff --git a/drivers/staging/media/atomisp/TODO b/drivers/staging/media/atomisp/TODO
> index 6987bb2d32cf..2d1ef9eb262a 100644
> --- a/drivers/staging/media/atomisp/TODO
> +++ b/drivers/staging/media/atomisp/TODO
> @@ -120,6 +120,11 @@ TODO
> for this driver until the other work is done, as there will be a lot
> of code churn until this driver becomes functional again.
>
> +16. Fix private ioctls to not need a compat_ioctl handler for running
> + 32-bit tasks. The compat code has been removed because of bugs,
> + and should not be needed for modern drivers. Fixing this properly
> + unfortunately means an incompatible ABI change.
> +
> Limitations
> ===========
>

[snip]

> diff --git a/drivers/staging/media/atomisp/pci/atomisp_fops.c b/drivers/staging/media/atomisp/pci/atomisp_fops.c
> index 26d05474a035..be58f21ab208 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp_fops.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp_fops.c
> @@ -1283,7 +1283,8 @@ const struct v4l2_file_operations atomisp_fops = {
> .unlocked_ioctl = video_ioctl2,
> #ifdef CONFIG_COMPAT
> /*
> - * There are problems with this code. Disable this for now.
> + * this was removed because of bugs, the interface
> + * needs to be made safe for compat tasks instead.
> .compat_ioctl32 = atomisp_compat_ioctl32,
> */
> #endif
> @@ -1297,10 +1298,7 @@ const struct v4l2_file_operations atomisp_file_fops = {
> .mmap = atomisp_file_mmap,
> .unlocked_ioctl = video_ioctl2,
> #ifdef CONFIG_COMPAT
> - /*
> - * There are problems with this code. Disable this for now.
> - .compat_ioctl32 = atomisp_compat_ioctl32,
> - */
> + /* .compat_ioctl32 = atomisp_compat_ioctl32, */
> #endif
> .poll = atomisp_poll,
> };

--
Regards,

Laurent Pinchart