aboutsummaryrefslogtreecommitdiff
path: root/net/ipv6/ip6mr.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-03-15 21:07:57 +0000
committerArnd Bergmann <arnd@arndb.de>2012-03-15 21:07:57 +0000
commite7051e9dab77ddeaddbe12364939ae239d92ca73 (patch)
treeb1855cb663f64a374277df1a909cbac1ecf15fbf /net/ipv6/ip6mr.c
parent38abdcd0d0689aaca94e740ac67a952c7918caef (diff)
parent5da30bb6d902a36265e74f7141a904b19ec25bd4 (diff)
Merge branch 'samsung/exynos5' into next/soc2
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 c7e95c8c579..5aa3981a392 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);