|
@@ -2232,8 +2232,7 @@ static void ip6_link_failure(struct sk_buff *skb)
|
|
|
if (rt) {
|
|
|
rcu_read_lock();
|
|
|
if (rt->rt6i_flags & RTF_CACHE) {
|
|
|
- if (dst_hold_safe(&rt->dst))
|
|
|
- rt6_remove_exception_rt(rt);
|
|
|
+ rt6_remove_exception_rt(rt);
|
|
|
} else {
|
|
|
struct fib6_info *from;
|
|
|
struct fib6_node *fn;
|
|
@@ -3214,8 +3213,8 @@ static int ip6_del_cached_rt(struct rt6_info *rt, struct fib6_config *cfg)
|
|
|
if (cfg->fc_flags & RTF_GATEWAY &&
|
|
|
!ipv6_addr_equal(&cfg->fc_gateway, &rt->rt6i_gateway))
|
|
|
goto out;
|
|
|
- if (dst_hold_safe(&rt->dst))
|
|
|
- rc = rt6_remove_exception_rt(rt);
|
|
|
+
|
|
|
+ rc = rt6_remove_exception_rt(rt);
|
|
|
out:
|
|
|
return rc;
|
|
|
}
|