On Mon, Jun 20, 2016 at 06:55:49PM +0200, Sven Eckelmann wrote:
On Tuesday 21 June 2016 00:41:15 Antonio Quartulli wrote: [...]
However, how about changing the patch this way ?
--- a/net/batman-adv/tp_meter.c +++ b/net/batman-adv/tp_meter.c @@ -1206,7 +1206,7 @@ static int batadv_tp_send_ack(struct batadv_priv *bat_priv, const u8 *dst,
/* send the ack */ r = batadv_send_skb_to_orig(skb, orig_node, NULL);
if (r == -1)
if ((r == -1) || !dev_xmit_complete(res)) kfree_skb(skb);
Wouldn't this cause a double free when r != -1 and !dev_xmit_complete is true? dev_queue_xmit would have consumed it anyway, right?
And did you mean r and not res?
Yes, I meant 'r'. 'res' was the result of a copy/paste error. Sorry.