xfrm: Release dst if this dst is improper for vti tunnel
[kernel/kernel-generic.git] / net / ipv4 / ip_vti.c
index 6e87f85..26847e1 100644 (file)
@@ -190,6 +190,7 @@ static netdev_tx_t vti_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
        if (!rt->dst.xfrm ||
            rt->dst.xfrm->props.mode != XFRM_MODE_TUNNEL) {
                dev->stats.tx_carrier_errors++;
+               ip_rt_put(rt);
                goto tx_error_icmp;
        }
        tdev = rt->dst.dev;