diff options
author | Fan Du <fan.du@windriver.com> | 2013-12-08 21:33:53 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-10 22:01:54 -0500 |
commit | fffc15a5012e9052d3b236efc56840841a125416 (patch) | |
tree | e1979b61467a70f0c58e47d3a3f14d99602db526 /drivers/net/vxlan.c | |
parent | 12663bfc97c8b3fdb292428105dd92d563164050 (diff) |
vxlan: release rt when found circular route
Otherwise causing dst memory leakage.
Have Checked all other type tunnel device transmit implementation,
no such things happens anymore.
Signed-off-by: Fan Du <fan.du@windriver.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r-- | drivers/net/vxlan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 0358c07f7669..249e01c5600c 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c | |||
@@ -1668,7 +1668,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev, | |||
1668 | netdev_dbg(dev, "circular route to %pI4\n", | 1668 | netdev_dbg(dev, "circular route to %pI4\n", |
1669 | &dst->sin.sin_addr.s_addr); | 1669 | &dst->sin.sin_addr.s_addr); |
1670 | dev->stats.collisions++; | 1670 | dev->stats.collisions++; |
1671 | goto tx_error; | 1671 | goto rt_tx_error; |
1672 | } | 1672 | } |
1673 | 1673 | ||
1674 | /* Bypass encapsulation if the destination is local */ | 1674 | /* Bypass encapsulation if the destination is local */ |