Re: [PATCH bluetooth-next 6/6] 6lowpan: remove lowpan_fetch_skb_u8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,


Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx>


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 <alex.aring@xxxxxxxxx>
> ---
>  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


--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux