Subject: [RFC(v2) net-next 10/13] ipv6: Do not depend on rt->n in ip6_pol_route().

From: YOSHIFUJI Hideaki <[email-masked]>
Date: Wed, 16 Jan 2013 01:46:18 +0900

Signed-off-by: YOSHIFUJI Hideaki <[email-masked]>
---
 net/ipv6/route.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index ffdc8a6..e30a2aa 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -936,9 +936,10 @@ restart:
 	dst_hold(&rt->dst);
 	read_unlock_bh(&table->tb6_lock);
 
-	if (!rt->n && !(rt->rt6i_flags & RTF_NONEXTHOP))
+	if (!(rt->rt6i_flags & (RTF_NONEXTHOP | RTF_GATEWAY))) {
+		BUG_ON(rt->n != NULL);
 		nrt = rt6_alloc_cow(rt, &fl6->daddr, &fl6->saddr);
-	else if (!(rt->dst.flags & DST_HOST))
+	} else if (!(rt->dst.flags & DST_HOST))
 		nrt = rt6_alloc_clone(rt, &fl6->daddr);
 	else
 		goto out2;
-- 
1.7.9.5