aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/ipv6/route.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index bd4cf175ff1..fd626d420cd 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1332,17 +1332,10 @@ restart:
break;
}
- if (!rt) {
- if (rt6_need_strict(&fl->fl6_dst)) {
- while ((fn = fn->parent) != NULL) {
- if (fn->fn_flags & RTN_ROOT)
- break;
- if (fn->fn_flags & RTN_RTINFO)
- goto restart;
- }
- }
+ if (!rt)
rt = &ip6_null_entry;
- }
+ BACKTRACK(&fl->fl6_src);
+out:
dst_hold(&rt->u.dst);
read_unlock_bh(&table->tb6_lock);