diff options
author | Jiri Benc <jbenc@redhat.com> | 2015-08-20 13:56:26 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-20 15:42:36 -0700 |
commit | 06e9d040ba08b0f645783ff958384d5837b3fa3a (patch) | |
tree | f2065d0dd27be5af8f3eb7e7e1a086c8fbb1fcac | |
parent | 61adedf3e3f1d3f032c5a6a299978d91eff6d555 (diff) | |
download | linux-stable-06e9d040ba08b0f645783ff958384d5837b3fa3a.tar.gz linux-stable-06e9d040ba08b0f645783ff958384d5837b3fa3a.tar.bz2 linux-stable-06e9d040ba08b0f645783ff958384d5837b3fa3a.zip |
ipv6: drop metadata dst in ip6_route_input
The fix in commit 48fb6b554501 is incomplete, as now ip6_route_input can be
called with non-NULL dst if it's a metadata dst and the reference is leaked.
Drop the reference.
Fixes: 48fb6b554501 ("ipv6: fix crash over flow-based vxlan device")
Fixes: ee122c79d422 ("vxlan: Flow based tunneling")
CC: Wei-Chun Chao <weichunc@plumgrid.com>
CC: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv6/route.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index e6bbcdee7707..0947ad0b3de8 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1140,6 +1140,7 @@ void ip6_route_input(struct sk_buff *skb) .flowi6_proto = iph->nexthdr, }; + skb_dst_drop(skb); skb_dst_set(skb, ip6_route_input_lookup(net, skb->dev, &fl6, flags)); } |