Эх сурвалжийг харах

ip_gre: Fix bug added to ipgre_tunnel_xmit().

We can remove the rt_gateway == 0 check but we shouldn't
remove the 'dst' initialization too.

Noticed by Eric Dumazet.

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 13 жил өмнө
parent
commit
61d57f87f3
1 өөрчлөгдсөн 3 нэмэгдсэн , 1 устгасан
  1. 3 1
      net/ipv4/ip_gre.c

+ 3 - 1
net/ipv4/ip_gre.c

@@ -724,8 +724,10 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 			goto tx_error;
 		}
 
-		if (skb->protocol == htons(ETH_P_IP))
+		if (skb->protocol == htons(ETH_P_IP)) {
 			rt = skb_rtable(skb);
+			dst = rt->rt_gateway;
+		}
 #if IS_ENABLED(CONFIG_IPV6)
 		else if (skb->protocol == htons(ETH_P_IPV6)) {
 			struct neighbour *neigh = dst_get_neighbour_noref(skb_dst(skb));