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

From: Matthias Kaehlcke
Date: Wed Apr 19 2017 - 17:37:36 EST


Hi Arnd,

El Wed, Apr 19, 2017 at 10:48:47PM +0200 Arnd Bergmann ha dit:

> On Wed, Apr 19, 2017 at 8:14 PM, Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote:
> > 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/
>
> The patch looks correct to me,
>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>

Thanks for the review!

> >> 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?
>
> One minor comment on the patch: when you address a warning in a patch,
> it helps to put the compiler warning output into the changelog.

Thanks, I added it initially and then wondered if it is too much
noise. Will take it into account in the future.

> Aside from that, I see that you are upstreaming a number of clang
> related patches. I actually have a longer series of clang patches that
> I took from llvmlinux and hacked up to the point where I could
> build ARM randconfig kernels without any warnings or errors.
> If you are interested, I can separate the clang patches from my normal
> randconfig build tree and upload the git tree for you to look at and
> cherry-pick further patches.

Sure, that would be interesting, though I won't promise to take up
everything :)

Cheers

Matthias