From: Al Viro <viro@ZenIV.linux.org.uk>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Sam Ravnborg <sam@ravnborg.org>,
John Linville <linville@tuxdriver.com>,
linux-wireless <linux-wireless@vger.kernel.org>,
Stefano Brivio <stefano.brivio@polimi.it>,
Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mac80211: check endianness/types in sparse runs
Date: Thu, 21 Feb 2008 21:16:10 +0000 [thread overview]
Message-ID: <20080221211610.GA27894@ZenIV.linux.org.uk> (raw)
In-Reply-To: <1203597776.20331.5.camel@johannes.berg>
On Thu, Feb 21, 2008 at 01:42:56PM +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
>
> The commit that introduced __CHECK_ENDIAN__ was
> af4ca457eaf2d6682059c18463eb106e2ce58198 ("gfp_t: infrastructure") but
> it doesn't say anything about the rationale for it.
>
> > When I enabled __CHECK_ENDIAN I got:
> > 8 files with > 100 warnings
> > 14 files with 10 to 99 warnings.
> >
> > So nothing that should scare a kernel hacker...
> >
> > warnings without: 1686
> > warnings with: 2788
> >
> > OK - thats a lot, but then fixing 8 files will significantly
> > reduce this.
>
> 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...
>
> 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...)
So build with make C=2 -D__CHECK_ENDIAN__ net/ieee80211/, etc. - it's not
that such a script would be tricky...
I've been shooting the endianness crap down for quite a while (see e.g.
drivers/net/* patches in 2.6.24 and 2.6.24-rc1; there's more in queue)
and it's getting better, but not enough to enable it unconditionally.
Note that it's not quite a janitor-level stuff; blind "fixing" of warnings
in that area is very likely to result in hidden bugs - you need serious
RTFS + RTFDatasheet + ask maintainer + trawl list archives for bug reports
in quite a few cases.
next prev parent reply other threads:[~2008-02-21 21:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-20 10:38 [PATCH] mac80211: check endianness/types in sparse runs Johannes Berg
2008-02-20 19:59 ` Sam Ravnborg
2008-02-20 20:07 ` Pavel Roskin
2008-02-21 12:42 ` Johannes Berg
2008-02-21 20:01 ` Harvey Harrison
2008-02-21 22:32 ` __bitwise versus __bitwise__ [Was: [PATCH] mac80211: check endianness/types in sparse runs] Sam Ravnborg
2008-02-21 22:38 ` Al Viro
2008-02-21 20:06 ` [PATCH] mac80211: check endianness/types in sparse runs Sam Ravnborg
2008-02-21 20:09 ` Johannes Berg
2008-02-21 20:25 ` Harvey Harrison
2008-02-21 20:29 ` Johannes Berg
2008-02-21 20:33 ` Harvey Harrison
2008-02-21 21:16 ` Al Viro [this message]
2008-02-22 14:02 ` Johannes Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080221211610.GA27894@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=sam@ravnborg.org \
--cc=stefano.brivio@polimi.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.