Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61d57f87 authored by David S. Miller's avatar David S. Miller
Browse files

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: default avatarDavid S. Miller <davem@davemloft.net>
parent 658c8d96
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -724,8 +724,10 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
			goto tx_error;
			goto tx_error;
		}
		}


		if (skb->protocol == htons(ETH_P_IP))
		if (skb->protocol == htons(ETH_P_IP)) {
			rt = skb_rtable(skb);
			rt = skb_rtable(skb);
			dst = rt->rt_gateway;
		}
#if IS_ENABLED(CONFIG_IPV6)
#if IS_ENABLED(CONFIG_IPV6)
		else if (skb->protocol == htons(ETH_P_IPV6)) {
		else if (skb->protocol == htons(ETH_P_IPV6)) {
			struct neighbour *neigh = dst_get_neighbour_noref(skb_dst(skb));
			struct neighbour *neigh = dst_get_neighbour_noref(skb_dst(skb));