Skip to content

Commit

Permalink
6lowpan: remove lowpan_fetch_skb_u8
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Jukka Rissanen <[email protected]>
Signed-off-by: Marcel Holtmann <[email protected]>
  • Loading branch information
alexaring authored and holtmann committed Oct 20, 2015
1 parent 8911d77 commit 478208e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
27 changes: 14 additions & 13 deletions include/net/6lowpan.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions net/6lowpan/iphc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit 478208e

Please sign in to comment.