提交 61d57f87 编写于 作者: D 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: NDavid S. Miller <davem@davemloft.net>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册