Message ID | 20110830134552.GH3705@shale.localdomain |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Le mardi 30 août 2011 à 16:45 +0300, Dan Carpenter a écrit : > Use kfree_skb() to free sbk_buffs. > > Signed-off-by: Dan Carpenter <error27@gmail.com> > > 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); -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Dan, Eric, thank you a lot for the finds, that were my faults. With best regards, Alexander 2011/8/30 Eric Dumazet <eric.dumazet@gmail.com>: > Le mardi 30 août 2011 à 16:45 +0300, Dan Carpenter a écrit : >> Use kfree_skb() to free sbk_buffs. >> >> Signed-off-by: Dan Carpenter <error27@gmail.com> >> >> 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); > > > > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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: > > 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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Dan Carpenter <error27@gmail.com> Date: Tue, 30 Aug 2011 16:45:52 +0300 > Use kfree_skb() to free sbk_buffs. > > Signed-off-by: Dan Carpenter <error27@gmail.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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; }
Use kfree_skb() to free sbk_buffs. Signed-off-by: Dan Carpenter <error27@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html