summaryrefslogtreecommitdiff
path: root/net/ipv6/ip6mr.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-02-27 03:50:11 +0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-02-27 03:50:11 +0400
commitf851013cb2238a82782da03ac82a14447933f90d (patch)
treef97835f69d244865c4a5397d0e6d45d1276a919d /net/ipv6/ip6mr.c
parentf2699491e06584a2ebb0939f108ad29f3b151456 (diff)
parent203738e548cefc3fc3c2f73a9063176c9f3583d5 (diff)
downloadlinux-f851013cb2238a82782da03ac82a14447933f90d.tar.xz
Merge remote-tracking branch 'origin/master' into next
Diffstat (limited to 'net/ipv6/ip6mr.c')
-rw-r--r--net/ipv6/ip6mr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
index c7e95c8c579f..5aa3981a3922 100644
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -1926,8 +1926,10 @@ static int ip6mr_forward2(struct net *net, struct mr6_table *mrt,
};
dst = ip6_route_output(net, NULL, &fl6);
- if (!dst)
+ if (dst->error) {
+ dst_release(dst);
goto out_free;
+ }
skb_dst_drop(skb);
skb_dst_set(skb, dst);