net: fix iterating over hashtable in tcp_nuke_addr()

The actual size of the tcp hashinfo table is tcp_hashinfo.ehash_mask + 1
so we need to adjust the loop accordingly to get the sockets hashed into
the last bucket.

Change-Id: I796b3c7b4a1a7fa35fba9e5192a4a403eb6e17de
Signed-off-by: Dmitry Torokhov <dtor@google.com>
This commit is contained in:
Dmitry Torokhov
2015-07-09 17:17:57 -07:00
committed by John Stultz
parent 38f0ec724f
commit 4747299b2c

View File

@@ -3231,7 +3231,7 @@ int tcp_nuke_addr(struct net *net, struct sockaddr *addr)
return -EAFNOSUPPORT;
}
for (bucket = 0; bucket < tcp_hashinfo.ehash_mask; bucket++) {
for (bucket = 0; bucket <= tcp_hashinfo.ehash_mask; bucket++) {
struct hlist_nulls_node *node;
struct sock *sk;
spinlock_t *lock = inet_ehash_lockp(&tcp_hashinfo, bucket);