Subject: Re: [PATCH net-next 3/6] 6lowpan: introduce lowpan_fetch_skb function

From: Alexander Smirnov <[email-masked]>
Date: Wed, 14 Aug 2013 15:55:21 +0400

On 08/14/2013 03:49 PM, Hannes Frederic Sowa wrote:
> On Wed, Aug 14, 2013 at 01:01:45PM +0200, Alexander Aring wrote:
>> This patch adds a helper function to parse the ipv6 header to a
>> 6lowpan header in stream.
>>
>> This function checks first if we can pull data with a specific
>> length from a skb. If this seems to be okay, we copy skb data to
>> a destination pointer and run skb_pull.
>>
>> Signed-off-by: Alexander Aring <[email-masked]>
>> Reviewed-by: Werner Almesberger <[email-masked]>
>> ---
>>   net/ieee802154/6lowpan.h | 12 ++++++++++++
>>   1 file changed, 12 insertions(+)
>>
>> diff --git a/net/ieee802154/6lowpan.h b/net/ieee802154/6lowpan.h
>> index 61f0ce9..e3348ec 100644
>> --- a/net/ieee802154/6lowpan.h
>> +++ b/net/ieee802154/6lowpan.h
>> @@ -233,4 +233,16 @@
>>   					dest = 16 bit inline */
>>   #define LOWPAN_NHC_UDP_CS_P_11	0xF3 /* source & dest = 0xF0B + 4bit inline */
>>
>> +static inline bool lowpan_fetch_skb(struct sk_buff *skb,
>> +		void *data, const unsigned int len)
>> +{
>> +	if (unlikely(!pskb_may_pull(skb, len)))
>> +		return true;
>> +
>> +	skb_copy_from_linear_data(skb, data, len);
>> +	skb_pull(skb, len);
>> +
>> +	return false;
>> +}
>
> Isn't the return value inverted here?

Nope, everything is right here, but I spent several minutes to get it...
Probably using of standard intergers will be better here: return -EINVAL 
and return 0;

> Greetings,
>    Hannes