diff options
Diffstat (limited to 'net/ipv6/inet6_hashtables.c')
| -rw-r--r-- | net/ipv6/inet6_hashtables.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c index ae6b0e7eb48..1c2c2765543 100644 --- a/net/ipv6/inet6_hashtables.c +++ b/net/ipv6/inet6_hashtables.c @@ -254,18 +254,18 @@ int inet6_hash_connect(struct inet_timewait_death_row *death_row,  	int ret;  	if (snum == 0) { -		const int low = sysctl_local_port_range[0]; -		const int high = sysctl_local_port_range[1]; -		const int range = high - low; -		int i, port; +		int i, port, low, high, remaining;  		static u32 hint;  		const u32 offset = hint + inet6_sk_port_offset(sk);  		struct hlist_node *node;  		struct inet_timewait_sock *tw = NULL; +		inet_get_local_port_range(&low, &high); +		remaining = high - low; +  		local_bh_disable(); -		for (i = 1; i <= range; i++) { -			port = low + (i + offset) % range; +		for (i = 1; i <= remaining; i++) { +			port = low + (i + offset) % remaining;  			head = &hinfo->bhash[inet_bhashfn(port, hinfo->bhash_size)];  			spin_lock(&head->lock);  |