xfrm: Release dst if this dst is improper for vti tunnel
After searching rt by the vti tunnel dst/src parameter, if this rt has neither attached to any transformation nor the transformation is not tunnel oriented, this rt should be released back to ip layer. otherwise causing dst memory leakage. Signed-off-by: Fan Du <fan.du@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
840e93f2ee
Коммит
236c9f8486
|
@ -126,6 +126,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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче