Thread (7 messages) flat view 7 messages, 4 authors, 2013-08-14

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

From: Alexander Smirnov <hidden>
Date: 2013-08-14 11:55:25

Possibly related (same subject, not in this thread)

On 08/14/2013 03:49 PM, Hannes Frederic Sowa wrote:
On Wed, Aug 14, 2013 at 01:01:45PM +0200, Alexander Aring wrote:
quoted
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 <alex.aring@gmail.com>
Reviewed-by: Werner Almesberger <redacted>
---
  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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help