diff options
Diffstat (limited to 'net/ipv6/icmp.c')
| -rw-r--r-- | net/ipv6/icmp.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 091a2971c7b..ed89bba745a 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c @@ -188,14 +188,14 @@ static inline bool icmpv6_xrlim_allow(struct sock *sk, u8 type,  	} else {  		struct rt6_info *rt = (struct rt6_info *)dst;  		int tmo = net->ipv6.sysctl.icmpv6_time; +		struct inet_peer *peer;  		/* Give more bandwidth to wider prefixes. */  		if (rt->rt6i_dst.plen < 128)  			tmo >>= ((128 - rt->rt6i_dst.plen)>>5); -		if (!rt->rt6i_peer) -			rt6_bind_peer(rt, 1); -		res = inet_peer_xrlim_allow(rt->rt6i_peer, tmo); +		peer = rt6_get_peer_create(rt); +		res = inet_peer_xrlim_allow(peer, tmo);  	}  	dst_release(dst);  	return res;  |