[patch 1/3 -next] 6LoWPAN: use kfree_skb() instead of kfree()

Subsystems: ieee 802.15.4 subsystem, networking [general], the rest

STALE5526d

5 messages, 3 authors, 2011-09-01 · open the first message on its own page

[patch 1/3 -next] 6LoWPAN: use kfree_skb() instead of kfree()

From: Dan Carpenter <hidden>
Date: 2011-08-30 13:48:15

Use kfree_skb() to free sbk_buffs.

Signed-off-by: Dan Carpenter <redacted>
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index cf304cc..8a9dbaa 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -674,7 +674,7 @@ lowpan_process_data(struct sk_buff *skb)
 							sizeof(hdr));
 	return lowpan_skb_deliver(skb, &hdr);
 drop:
-	kfree(skb);
+	kfree_skb(skb);
 	return -EINVAL;
 }
 

Re: [patch 1/3 -next] 6LoWPAN: use kfree_skb() instead of kfree()

From: Eric Dumazet <hidden>
Date: 2011-08-30 14:40:47

Le mardi 30 août 2011 à 16:45 +0300, Dan Carpenter a écrit :
quoted hunk
Use kfree_skb() to free sbk_buffs.

Signed-off-by: Dan Carpenter <redacted>
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index cf304cc..8a9dbaa 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -674,7 +674,7 @@ lowpan_process_data(struct sk_buff *skb)
 							sizeof(hdr));
 	return lowpan_skb_deliver(skb, &hdr);
 drop:
-	kfree(skb);
+	kfree_skb(skb);
 	return -EINVAL;
 }
 
Another bug is the skb_copy() done in lowpan_skb_deliver()

1) No check of skb_copy() return 

2.1) Use of GFP_KERNEL : Is it safe at this point ? Aren’t we in
softirq ?

2.2) If GFP_KERNEL is safe, why do we later do :

	if (in_interrupt())
		stat = netif_rx(skb);
	else
		stat = netif_rx_ni(skb);

Re: [patch 1/3 -next] 6LoWPAN: use kfree_skb() instead of kfree()

From: Alexander Smirnov <hidden>
Date: 2011-09-01 09:26:03

Hi Dan, Eric,

thank you a lot for the finds, that were my faults.

With best regards,
Alexander


2011/8/30 Eric Dumazet [off-list ref]:
Le mardi 30 août 2011 à 16:45 +0300, Dan Carpenter a écrit :
quoted
Use kfree_skb() to free sbk_buffs.

Signed-off-by: Dan Carpenter <redacted>
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index cf304cc..8a9dbaa 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -674,7 +674,7 @@ lowpan_process_data(struct sk_buff *skb)
                                                      sizeof(hdr));
      return lowpan_skb_deliver(skb, &hdr);
 drop:
-     kfree(skb);
+     kfree_skb(skb);
      return -EINVAL;
 }
Another bug is the skb_copy() done in lowpan_skb_deliver()

1) No check of skb_copy() return

2.1) Use of GFP_KERNEL : Is it safe at this point ? Aren’t we in
softirq ?

2.2) If GFP_KERNEL is safe, why do we later do :

       if (in_interrupt())
               stat = netif_rx(skb);
       else
               stat = netif_rx_ni(skb);


Re: [patch 1/3 -next] 6LoWPAN: use kfree_skb() instead of kfree()

From: Dan Carpenter <hidden>
Date: 2011-09-01 15:06:50

On Thu, Sep 01, 2011 at 01:26:02PM +0400, Alexander Smirnov wrote:
Hi Dan, Eric,

thank you a lot for the finds, that were my faults.
So uh...  You're going to send a patch to fix the things Eric
mentioned, right?

regards,
dan carpenter

Re: [patch 1/3 -next] 6LoWPAN: use kfree_skb() instead of kfree()

From: Dan Carpenter <hidden>
Date: 2011-09-01 15:08:41

On Thu, Sep 01, 2011 at 06:04:25PM +0300, Dan Carpenter wrote:
On Thu, Sep 01, 2011 at 01:26:02PM +0400, Alexander Smirnov wrote:
quoted
Hi Dan, Eric,

thank you a lot for the finds, that were my faults.
So uh...  You're going to send a patch to fix the things Eric
mentioned, right?
Ah.  You did already.  I see that now.  Sorry for the noise.

regards,
dan carpenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help