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

From: Arnd Bergmann
Date: Wed Apr 19 2017 - 16:49:03 EST


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>

>> 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.

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.

Arnd