Просмотр исходного кода

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>
Fan Du 12 лет назад
Родитель
Сommit
fffc15a501
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      drivers/net/vxlan.c

+ 1 - 1
drivers/net/vxlan.c

@@ -1668,7 +1668,7 @@ static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev,
 			netdev_dbg(dev, "circular route to %pI4\n",
 			netdev_dbg(dev, "circular route to %pI4\n",
 				   &dst->sin.sin_addr.s_addr);
 				   &dst->sin.sin_addr.s_addr);
 			dev->stats.collisions++;
 			dev->stats.collisions++;
-			goto tx_error;
+			goto rt_tx_error;
 		}
 		}
 
 
 		/* Bypass encapsulation if the destination is local */
 		/* Bypass encapsulation if the destination is local */