On Wed, Aug 26, 2015 at 8:57 PM, Pravin Shelar [off-list ref] wrote:
On Wed, Aug 26, 2015 at 8:08 PM, Jesse Gross [off-list ref] wrote:
quoted
On Wed, Aug 26, 2015 at 2:54 PM, Pravin B Shelar [off-list ref] wrote:
quoted
@@ -293,15 +615,13 @@ static netdev_tx_t geneve_xmit(struct sk_buff *skb, struct net_device *dev)
[...]
quoted
+ err = geneve_build_skb(rt, skb, key->tun_flags, vni,
+ info->options_len, opts, udp_csum);
+ if (unlikely(err))
+ goto err;
[...]
quoted
tx_error:
- dev->stats.tx_errors++;
dev_kfree_skb(skb);
+err:
+ dev->stats.tx_errors++;
return NETDEV_TX_OK;
}
I'm not sure that it makes sense to break out these error conditions -
geneve_build_skb() doesn't free the skb, so it looks like there is a
leak on failure.
It does frees skb. Which case are you looking at?
Never mind, you're right.