提交 469f87e1 编写于 作者: H Haishuang Yan 提交者: David S. Miller

ip_tunnel: fix potential issue in ip_tunnel_rcv

When ip_tunnel_rcv fails, the tun_dst won't be freed, so call
dst_release to free it in error code path.

Fixes: 2e15ea39 ("ip_gre: Add support to collect tunnel metadata.")
Acked-by: NEric Dumazet <edumazet@google.com>
Acked-by: NPravin B Shelar <pshelar@ovn.org>
Tested-by: NZhang Shengju <zhangshengju@cmss.chinamobile.com>
Signed-off-by: NHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 be56a099
...@@ -446,6 +446,8 @@ int ip_tunnel_rcv(struct ip_tunnel *tunnel, struct sk_buff *skb, ...@@ -446,6 +446,8 @@ int ip_tunnel_rcv(struct ip_tunnel *tunnel, struct sk_buff *skb,
return 0; return 0;
drop: drop:
if (tun_dst)
dst_release((struct dst_entry *)tun_dst);
kfree_skb(skb); kfree_skb(skb);
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册