Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1278351

Re: [PATCH] staging: net: core: skbuff.c: Added do-while pair for complex macros

From Joe Perches <joe@perches.com>
Newsgroups linux.kernel
Subject Re: [PATCH] staging: net: core: skbuff.c: Added do-while pair for complex macros
Date 2015-11-26 18:10 +0100
Message-ID <qz8ds-86E-21@gated-at.bofh.it> (permalink)
References <qz7Kq-7Fr-25@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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));


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] staging: net: core: skbuff.c: Added do-while pair for complex macros Jitendra Kumar Khasdev <jkhasdev@gmail.com> - 2015-11-26 17:40 +0100
  Re: [PATCH] staging: net: core: skbuff.c: Added do-while pair for  complex macros Joe Perches <joe@perches.com> - 2015-11-26 18:10 +0100
  Re: [PATCH] staging: net: core: skbuff.c: Added do-while pair for  complex macros David Miller <davem@davemloft.net> - 2015-11-26 22:50 +0100

csiph-web