Re: [PATCH v2] include/linux/skbuff.h: using '(u16) ~0U' instead of '~0U'

Chen Gang
2013-06-03T11:47:05Z

On 06/03/2013 07:34 PM, Andy Shevchenko wrote:
>> --- a/include/linux/skbuff.h
>> > +++ b/include/linux/skbuff.h
>> > @@ -40,6 +40,8 @@
>> > #define CHECKSUM_COMPLETE 2
>> > #define CHECKSUM_PARTIAL 3
>> >
>> > +#define SKB_HEADER_UNSET_16 ((unsigned short) ~0U)
> Isn't better to use the same type as used in the structure description?
>

It sounds reasonable, I will wait 1 days, if no additional suggestions
or completions, I will send patch v3.

>> > --- a/net/core/skbuff.c
>> > +++ b/net/core/skbuff.c
>> > @@ -200,7 +200,8 @@ struct sk_buff *__alloc_skb_head(gfp_t gfp_mask, int node)
>> > atomic_set(&skb->users, 1);
>> >
>> > #ifdef NET_SKBUFF_DATA_USES_OFFSET
>> > - skb->mac_header = (__u16) ~0U;
>> > + skb->mac_header = SKB_HEADER_UNSET_16;
>> > + skb->transport_header = SKB_HEADER_UNSET_16;
> Is it correct to assign transport_header here as well?

At least, it is correct: they are in the same structure, and almost a
neighbor with each other.

Hmm... I guess that may be useless currently which will waste one
instruction.

But I still suggest to add it, it can avoid the new mistakes in the future.

Welcome another members to provide their suggestions for it.

Thanks.
--
Chen Gang

Asianux Corporation