Return-Path: Message-ID: <1444999451.3652.14.camel@linux.intel.com> Subject: Re: [PATCH bluetooth-next 6/6] 6lowpan: remove lowpan_fetch_skb_u8 From: Jukka Rissanen To: Alexander Aring Cc: linux-wpan@vger.kernel.org, kernel@pengutronix.de, linux-bluetooth@vger.kernel.org Date: Fri, 16 Oct 2015 15:44:11 +0300 In-Reply-To: <1444736579-27826-6-git-send-email-alex.aring@gmail.com> References: <1444736579-27826-1-git-send-email-alex.aring@gmail.com> <1444736579-27826-6-git-send-email-alex.aring@gmail.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Alex, Acked-by: Jukka Rissanen On ti, 2015-10-13 at 13:42 +0200, Alexander Aring wrote: > This patch removes the lowpan_fetch_skb_u8 function for getting the iphc > bytes. Instead we using the generic which has a len parameter to tell > the amount of bytes to fetch. > > Signed-off-by: Alexander Aring > --- > include/net/6lowpan.h | 27 ++++++++++++++------------- > net/6lowpan/iphc.c | 4 ++-- > 2 files changed, 16 insertions(+), 15 deletions(-) > > diff --git a/include/net/6lowpan.h b/include/net/6lowpan.h > index ac30ad3..4afdbb3 100644 > --- a/include/net/6lowpan.h > +++ b/include/net/6lowpan.h > @@ -287,19 +287,20 @@ static inline void raw_dump_inline(const char *caller, char *msg, > const unsigned char *buf, int len) { } > #endif > > -static inline int lowpan_fetch_skb_u8(struct sk_buff *skb, u8 *val) > -{ > - if (unlikely(!pskb_may_pull(skb, 1))) > - return -EINVAL; > - > - *val = skb->data[0]; > - skb_pull(skb, 1); > - > - return 0; > -} > - > -static inline bool lowpan_fetch_skb(struct sk_buff *skb, > - void *data, const unsigned int len) > +/** > + * lowpan_fetch_skb - getting inline data from 6LoWPAN header > + * > + * This function will pull data from sk buffer and put it into data to > + * remove the 6LoWPAN inline data. This function returns true if the > + * sk buffer is too small to pull the amount of data which is specified > + * by len. > + * > + * @skb: the buffer where the inline data should be pulled from. > + * @data: destination buffer for the inline data. > + * @len: amount of data which should be pulled in bytes. > + */ > +static inline bool lowpan_fetch_skb(struct sk_buff *skb, void *data, > + unsigned int len) > { > if (unlikely(!pskb_may_pull(skb, len))) > return true; > diff --git a/net/6lowpan/iphc.c b/net/6lowpan/iphc.c > index 8f967d3..87d8f1f 100644 > --- a/net/6lowpan/iphc.c > +++ b/net/6lowpan/iphc.c > @@ -265,8 +265,8 @@ int lowpan_header_decompress(struct sk_buff *skb, const struct net_device *dev, > raw_dump_table(__func__, "raw skb data dump uncompressed", > skb->data, skb->len); > > - if (lowpan_fetch_skb_u8(skb, &iphc0) || > - lowpan_fetch_skb_u8(skb, &iphc1)) > + if (lowpan_fetch_skb(skb, &iphc0, sizeof(iphc0)) || > + lowpan_fetch_skb(skb, &iphc1, sizeof(iphc1))) > return -EINVAL; > > /* another if the CID flag is set */ Cheers, Jukka