Re: powerpc32: fix warning from include/linux/mm.h

From: Scott Wood
Date: Tue Apr 07 2015 - 17:20:09 EST


On Tue, 2015-04-07 at 10:07 +0200, leroy christophe wrote:
> Le 21/03/2015 00:52, Scott Wood a Ãcrit :
> > On Fri, Dec 05, 2014 at 12:20:20PM +0100, LEROY Christophe wrote:
> >> include/linux/mm.h: In function 'is_vmalloc_addr':
> >> include/linux/mm.h:367:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> >> return addr >= VMALLOC_START && addr < VMALLOC_END;
> >> ^
> >>
> >> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
> >> ---
> >> arch/powerpc/include/asm/pgtable-ppc32.h | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> > That warning doesn't appear to be enabled. What config are you seeing
> > this with?
> I'm used to adding EXTRA_CFLAGS=-Wextra when checking my own drivers,
> as it helps finding additional bugs.

It also produces a lot of noise, which is why Linux doesn't enable it.
E.g. it enables useless "unused parameter" warnings all over the place.

> When doing that, the only warnings I get outside of my own code are this
> one, and the other one in my proposed patch identified "powerpc32: fix
> warning from include/asm-generic/termios-base.h"
>
> I though it would be worth fixing those two warnings in order to get a
> perfectly clean code.

In general I don't think we should clutter up the code with suppression
for warnings we don't enable, but in this case we do end up with a value
that would be negative if considered as signed. Instead of changing
VMALLOC_OFFSET, though, I'd address it where the problem is actually
introduced -- which is casting high_memory to (long) rather than
(unsigned long) or (uintptr_t).

-Scott


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/