Messages in this thread | | | Subject | Re: [PATCH] staging: net: core: skbuff.c: Added do-while pair for complex macros | From | Joe Perches <> | Date | Thu, 26 Nov 2015 09:00:23 -0800 |
| |
On Thu, 2015-11-26 at 22:06 +0530, Jitendra Kumar Khasdev wrote: > This patch is to file skbuff.c that fixes up following error, > reported by checkpatch.pl tool,
Your subject title is not correct. This is not a staging patch.
> 1. ERROR: Macros with multiple statements should be enclosed > in a do - while loop.
checkpatch is brainless. Not every message it emits needs fixing.
> diff --git a/net/core/skbuff.c b/net/core/skbuff.c [] > @@ -748,11 +748,13 @@ void consume_skb(struct sk_buff *skb) > EXPORT_SYMBOL(consume_skb); > > /* Make sure a field is enclosed inside headers_start/headers_end section */ > -#define CHECK_SKB_FIELD(field) \ > - BUILD_BUG_ON(offsetof(struct sk_buff, field) < \ > - offsetof(struct sk_buff, headers_start)); \ > - BUILD_BUG_ON(offsetof(struct sk_buff, field) > \ > - offsetof(struct sk_buff, headers_end)); \ > +#define CHECK_SKB_FIELD(field) \ > + do { \ > + BUILD_BUG_ON(offsetof(struct sk_buff, field) < \ > + offsetof(struct sk_buff, headers_start)); \ > + BUILD_BUG_ON(offsetof(struct sk_buff, field) > \ > + offsetof(struct sk_buff, headers_end)); \ > + } while (0) \
Perhaps the last check should add a sizeof(field)
BUILD_BUG_ON((offsetof(struct sk_buff, field) + FIELD_SIZEOF(struct sk_buff, field)) > offsetof(struct sk_buff, headers_end));
| |