Re: [PATCH] include/linux/skbuff.h: using '0xffff' instead of '~0U'
From: Ben Hutchings <hidden>
Date: 2013-05-30 15:30:16
Also in:
lkml
On Thu, 2013-05-30 at 14:03 +0800, Chen Gang wrote:
Both 'transport_header' and 'mac_header' are u16, which are never equal to '~0U'. So need use '0xffff' instead of '~0U'.
...and give this magic number a name? Ben.
quoted hunk ↗ jump to hunk
The related warning (with EXTRA_CFLAGS=-W ARCH=m68k for allmodconfig) include/linux/skbuff.h:1587:2: warning: comparison is always true due to limited range of data type [-Wtype-limits] ... Signed-off-by: Chen Gang <redacted> --- include/linux/skbuff.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 2e0ced1..03ba058 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h@@ -1581,7 +1581,7 @@ static inline void skb_set_inner_mac_header(struct sk_buff *skb, } static inline bool skb_transport_header_was_set(const struct sk_buff *skb) { - return skb->transport_header != ~0U; + return skb->transport_header != 0xffff; } static inline unsigned char *skb_transport_header(const struct sk_buff *skb)@@ -1624,7 +1624,7 @@ static inline unsigned char *skb_mac_header(const struct sk_buff *skb) static inline int skb_mac_header_was_set(const struct sk_buff *skb) { - return skb->mac_header != ~0U; + return skb->mac_header != 0xffff; } static inline void skb_reset_mac_header(struct sk_buff *skb)
-- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.