|
@@ -966,8 +966,10 @@ static netdev_tx_t ipip6_tunnel_xmit(struct sk_buff *skb,
|
|
|
tos = INET_ECN_encapsulate(tos, ipv6_get_dsfield(iph6));
|
|
|
|
|
|
skb = iptunnel_handle_offloads(skb, false, SKB_GSO_SIT);
|
|
|
- if (IS_ERR(skb))
|
|
|
+ if (IS_ERR(skb)) {
|
|
|
+ ip_rt_put(rt);
|
|
|
goto out;
|
|
|
+ }
|
|
|
|
|
|
err = iptunnel_xmit(rt, skb, fl4.saddr, fl4.daddr, IPPROTO_IPV6, tos,
|
|
|
ttl, df, !net_eq(tunnel->net, dev_net(dev)));
|