summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorBen Greear <greearb@candelatech.com>2016-04-01 14:13:31 -0700
committerJohannes Berg <johannes.berg@intel.com>2016-04-05 11:06:58 +0200
commitb6bf8c688e07c056f3059d870f6db44777259fe7 (patch)
treef5d95346b8ed22078869757ed05c63031cff5e81 /net
parent62b14b241ca6f790a17ccd9dd9f62ce1b006d406 (diff)
downloadlinux-b6bf8c688e07c056f3059d870f6db44777259fe7.tar.bz2
mac80211: ensure no limits on station rhashtable
By default, the rhashtable logic will fail to insert objects if the key-chains are too long and un-balanced. In the degenerate case where mac80211 is creating many virtual interfaces connected to the same peer(s), this case can happen. St insecure_elasticity to true to allow chains to grow as long as needed. Signed-off-by: Ben Greear <greearb@candelatech.com> [remove message, change commit message slightly] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/sta_info.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 18b56d7a2dbd..861b93ffbe92 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -67,6 +67,7 @@
static const struct rhashtable_params sta_rht_params = {
.nelem_hint = 3, /* start small */
+ .insecure_elasticity = true, /* Disable chain-length checks. */
.automatic_shrinking = true,
.head_offset = offsetof(struct sta_info, hash_node),
.key_offset = offsetof(struct sta_info, addr),