diff options
Diffstat (limited to 'net/ipv6/route.c')
| -rw-r--r-- | net/ipv6/route.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 1138b0a5566..09412baf1ca 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -385,7 +385,7 @@ static void rt6_probe(struct rt6_info *rt)  	 * to no more than one per minute.  	 */  	rcu_read_lock(); -	neigh = rt ? dst_get_neighbour(&rt->dst) : NULL; +	neigh = rt ? dst_get_neighbour_noref(&rt->dst) : NULL;  	if (!neigh || (neigh->nud_state & NUD_VALID))  		goto out;  	read_lock_bh(&neigh->lock); @@ -432,7 +432,7 @@ static inline int rt6_check_neigh(struct rt6_info *rt)  	int m;  	rcu_read_lock(); -	neigh = dst_get_neighbour(&rt->dst); +	neigh = dst_get_neighbour_noref(&rt->dst);  	if (rt->rt6i_flags & RTF_NONEXTHOP ||  	    !(rt->rt6i_flags & RTF_GATEWAY))  		m = 1; @@ -786,7 +786,7 @@ static struct rt6_info *rt6_alloc_clone(struct rt6_info *ort,  	if (rt) {  		rt->rt6i_flags |= RTF_CACHE; -		dst_set_neighbour(&rt->dst, neigh_clone(dst_get_neighbour_raw(&ort->dst))); +		dst_set_neighbour(&rt->dst, neigh_clone(dst_get_neighbour_noref_raw(&ort->dst)));  	}  	return rt;  } @@ -820,7 +820,7 @@ restart:  	dst_hold(&rt->dst);  	read_unlock_bh(&table->tb6_lock); -	if (!dst_get_neighbour_raw(&rt->dst) && !(rt->rt6i_flags & RTF_NONEXTHOP)) +	if (!dst_get_neighbour_noref_raw(&rt->dst) && !(rt->rt6i_flags & RTF_NONEXTHOP))  		nrt = rt6_alloc_cow(rt, &fl6->daddr, &fl6->saddr);  	else if (!(rt->dst.flags & DST_HOST))  		nrt = rt6_alloc_clone(rt, &fl6->daddr); @@ -1629,7 +1629,7 @@ void rt6_redirect(const struct in6_addr *dest, const struct in6_addr *src,  	dst_confirm(&rt->dst);  	/* Duplicate redirect: silently ignore. */ -	if (neigh == dst_get_neighbour_raw(&rt->dst)) +	if (neigh == dst_get_neighbour_noref_raw(&rt->dst))  		goto out;  	nrt = ip6_rt_copy(rt, dest); @@ -1721,7 +1721,7 @@ again:  	   1. It is connected route. Action: COW  	   2. It is gatewayed route or NONEXTHOP route. Action: clone it.  	 */ -	if (!dst_get_neighbour_raw(&rt->dst) && !(rt->rt6i_flags & RTF_NONEXTHOP)) +	if (!dst_get_neighbour_noref_raw(&rt->dst) && !(rt->rt6i_flags & RTF_NONEXTHOP))  		nrt = rt6_alloc_cow(rt, daddr, saddr);  	else  		nrt = rt6_alloc_clone(rt, daddr); @@ -2456,7 +2456,7 @@ static int rt6_fill_node(struct net *net,  		goto nla_put_failure;  	rcu_read_lock(); -	n = dst_get_neighbour(&rt->dst); +	n = dst_get_neighbour_noref(&rt->dst);  	if (n)  		NLA_PUT(skb, RTA_GATEWAY, 16, &n->primary_key);  	rcu_read_unlock(); @@ -2653,7 +2653,7 @@ static int rt6_info_route(struct rt6_info *rt, void *p_arg)  	seq_puts(m, "00000000000000000000000000000000 00 ");  #endif  	rcu_read_lock(); -	n = dst_get_neighbour(&rt->dst); +	n = dst_get_neighbour_noref(&rt->dst);  	if (n) {  		seq_printf(m, "%pi6", n->primary_key);  	} else {  |