On Tue, 2016-11-08 at 18:28 +0100, Sven Eckelmann wrote: > On Dienstag, 8. November 2016 08:59:49 CET Eric Dumazet wrote: > [...] > > > +free_skb: > > > consume_skb(skb); > > > - return NET_RX_SUCCESS; > > > + > > > + return ret; > > > } > > > > > > Okay, but we do have kfree_skb() and consume_skb() and they should be > > used appropriately. > > Yes, this patch is one part of reaching this goal. Some other parts are also > in this patchset. But other changes like the one you've mention here (change > some consume_skb partially back to kfree_skb) have still to be done. But > first we have to clean up the main portion of the mess :)
Sure, but your patch 13/17 should address this right away. You must not call consume_skb() if you are dropping a packet. Prior to this patch, kfree_skb() was properly called, and after this patch, consume_skb() is called instead. - ret = (*batadv_rx_handler[idx])(skb, hard_iface); - - if (ret == NET_RX_DROP) - kfree_skb(skb); + (*batadv_rx_handler[idx])(skb, hard_iface); You can not claim working on these issues and at the same time add them back.