ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit
authorXin Long <lucien.xin@gmail.com>
Fri, 13 Sep 2019 09:45:47 +0000 (17:45 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Sep 2019 05:16:43 +0000 (07:16 +0200)
commit97b5f8c95b75817f0ab27438e8dab136a3ae9ae8
tree6f2a0511606daf318f72b91805c8c8efab167faa
parent4fb95f299504eb953d4a4fe1c58c65f26b006980
ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit

[ Upstream commit 28e486037747c2180470b77c290d4090ad42f259 ]

In ip6erspan_tunnel_xmit(), if the skb will not be sent out, it has to
be freed on the tx_err path. Otherwise when deleting a netns, it would
cause dst/dev to leak, and dmesg shows:

  unregister_netdevice: waiting for lo to become free. Usage count = 1

Fixes: ef7baf5e083c ("ip6_gre: add ip6 erspan collect_md mode")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: William Tu <u9012063@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv6/ip6_gre.c