Re: [PATCH] mac80211: check endianness/types in sparse runs

Harvey Harrison
2008-02-21T20:01:31Z

On Thu, 2008-02-21 at 13:42 +0100, Johannes Berg wrote:
> >> [patch doing CHECKFLAGS += -D__CHECK_ENDIAN__ in the
> >> net/mac80211/Makefile]
>
> > I would prefer it to be kernel wide enabled.
> > Tried a defconfig build.
>
> Hm. I tend to think there was a reason for this, since this is actually
> explicitly disabled by include/linux/types.h:
>
> #ifdef __CHECKER__
> #define __bitwise__ __attribute__((bitwise))
> #else
> #define __bitwise__
> #endif
>
> #ifdef __CHECK_ENDIAN__
> #define __bitwise __bitwise__
> #else
> #define __bitwise
> #endif
>

This seems somewhat suspect.

> I recently ran sparse on my config and was surprised by the number of
> warnings. Then again, something in mmzone.h or so generated billions of
> them...

Potentially expensive pointer subtraction 640:....

Patch in -mm.

>
> In any case, I would love to have __CHECK_ENDIAN__ enabled by default at
> least on the wireless code (just caught another bug with it...)
>

I'd love to have it too, but there are so many trivial warnings that
clutter up valid warnings that it is prohibitive. I'm working on
reducing the noise level a bit for 2.6.26, we'll see about turning
it on then.

Harvey