Subject: Re: sparse vs. skbuff.h

From: Eric Dumazet <[email-masked]>
Date: Mon, 16 Nov 2009 20:51:59 +0100

Johannes Berg a écrit :
> On Mon, 2009-11-16 at 20:21 +0100, Johannes Berg wrote:
>> commit 14d18a81b5171d4433e41129619c75748b4f4d26
>> Author: Eric Dumazet <[email-masked]>
>> Date:   Thu Oct 29 00:10:37 2009 +0000
>>
>>     net: fix kmemcheck annotations
>>
>>
>> broke sparse endian checks on everything that includes skbuff.h because
>> the first and only (because it's an error) thing sparse now reports is
>> this:
>>
>> include/linux/skbuff.h:357:41: error: invalid bitfield specifier for type restricted __be16.
> 
> Simply changing from
> 	__be16 protocol:16;
> to
> 	__be16 protocol;
> 
> but leaving it inside the kmemcheck annotation seems to do the right
> thing. Except of course that kmemcheck will not properly check it now.
> Maybe those annotations should simply be made to have no impact on
> struct padding instead?
> 

Hmm, I have really no idea of what is the right way to fix this stuff.

Last time I did adding a non bitfield element inside the begin/end annotations,
I was flamed, because a bitfield is a bitfield, not a char/short

http://www.spinics.net/lists/netdev/msg108803.html

Now sparse is complaining... What will be the next story ?