diff options
author | Ben Greear <greearb@candelatech.com> | 2016-04-01 17:13:31 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-04-05 05:06:58 -0400 |
commit | b6bf8c688e07c056f3059d870f6db44777259fe7 (patch) | |
tree | f5d95346b8ed22078869757ed05c63031cff5e81 /net/mac80211 | |
parent | 62b14b241ca6f790a17ccd9dd9f62ce1b006d406 (diff) |
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/mac80211')
-rw-r--r-- | net/mac80211/sta_info.c | 1 |
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 @@ | |||
67 | 67 | ||
68 | static const struct rhashtable_params sta_rht_params = { | 68 | static const struct rhashtable_params sta_rht_params = { |
69 | .nelem_hint = 3, /* start small */ | 69 | .nelem_hint = 3, /* start small */ |
70 | .insecure_elasticity = true, /* Disable chain-length checks. */ | ||
70 | .automatic_shrinking = true, | 71 | .automatic_shrinking = true, |
71 | .head_offset = offsetof(struct sta_info, hash_node), | 72 | .head_offset = offsetof(struct sta_info, hash_node), |
72 | .key_offset = offsetof(struct sta_info, addr), | 73 | .key_offset = offsetof(struct sta_info, addr), |