Re: [PATCH] net: clean up some sparse endianness warnings in ipv6.h

Jeff Layton
2014-07-15T17:17:27Z

On Tue, 15 Jul 2014 10:01:07 -0700
Christoph Hellwig <hch@infradead.org> wrote:

> > #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && BITS_PER_LONG == 64
> > - const unsigned long *ul = (const unsigned long *)a;
> > + const __be64 *be = (const __be64 *)a;
> >
> > - return (ul[0] | (ul[1] ^ cpu_to_be64(1))) == 0UL;
> > + return (be[0] | (be[1] ^ cpu_to_be64(1))) == cpu_to_be64(0UL);
>
> Do you need the swap for 0UL? I know sparse treats 0 as special, so why
> wouldn't it treat 0UL special? Or just remove the 0UL postfix, no need
> for it in a simple comparism.
>
> Otherwise looks fine to me.

Maybe not, I did it for completeness sake. I'll see if I can remove
that. The macros do the conversion at compile time though so it
shouldn't hurt anything either way.

--
Jeff Layton <jlayton@primarydata.com>