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

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
...@@ -724,8 +724,10 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev ...@@ -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));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment