Re: [PATCH] fs: compat: Remove warning from COMPATIBLE_IOCTL

From: Matthias Kaehlcke
Date: Wed Apr 19 2017 - 14:14:20 EST


El Tue, Apr 04, 2017 at 11:07:20AM -0700 Matthias Kaehlcke ha dit:

> From: Mark Charlebois <charlebm@xxxxxxxxx>
>
> cmd in COMPATIBLE_IOCTL is always a u32, so cast it so there isn't a
> warning about an overflow in XFORM.
>
> From: Mark Charlebois <charlebm@xxxxxxxxx>
> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx>
> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> Resending https://patchwork.kernel.org/patch/4961631/
>
> fs/compat_ioctl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
> index 11d087b2b28e..6116d5275a3e 100644
> --- a/fs/compat_ioctl.c
> +++ b/fs/compat_ioctl.c
> @@ -833,7 +833,7 @@ static int compat_ioctl_preallocate(struct file *file,
> */
> #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
>
> -#define COMPATIBLE_IOCTL(cmd) XFORM(cmd),
> +#define COMPATIBLE_IOCTL(cmd) XFORM((u32)cmd),
> /* ioctl should not be warned about even if it's not implemented.
> Valid reasons to use this:
> - It is implemented with ->compat_ioctl on some device, but programs

Ping, any feedback on this change?

Thanks

Matthias