The following commit has been merged in the merge/master branch: commit 1aaa327c15d61fd5e8a32e07d8f1cf28e5780d8c Author: Sven Eckelmann sven@narfation.org Date: Fri Jun 10 18:14:00 2016 +0200
batman-adv: Avoid skb free for batadv_send_skb_to_orig < -1
The tp_meter code frees the skb when the batadv_send_skb_to_orig returns < 0. But the batadv_send_skb_to_orig only defines -1 as return code for failed submits with still valid skbs.
Fixes: 98d7a766b645 ("batman-adv: throughput meter implementation") Signed-off-by: Sven Eckelmann sven@narfation.org Signed-off-by: Marek Lindner mareklindner@neomailbox.ch
diff --git a/net/batman-adv/tp_meter.c b/net/batman-adv/tp_meter.c index ed99afb..bf6bffb 100644 --- a/net/batman-adv/tp_meter.c +++ b/net/batman-adv/tp_meter.c @@ -615,7 +615,7 @@ static int batadv_tp_send_msg(struct batadv_tp_vars *tp_vars, const u8 *src, batadv_tp_fill_prerandom(tp_vars, data, data_len);
r = batadv_send_skb_to_orig(skb, orig_node, NULL); - if (r < 0) + if (r == -1) kfree_skb(skb);
if (r == NET_XMIT_SUCCESS)