summaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez2008-11-12 23:22:01 +0100
committerJohn W. Linville2008-11-25 22:41:25 +0100
commit88dc1c3f7f9058cd5ceae1e4b53453484c7b0364 (patch)
tree47a2cf73d22d4d49e8c388f267f307221cf2d2b2 /net/wireless/reg.c
parentcfg80211: call_crda() won't tell us if CRDA was present (diff)
downloadkernel-qcow2-linux-88dc1c3f7f9058cd5ceae1e4b53453484c7b0364.tar.gz
kernel-qcow2-linux-88dc1c3f7f9058cd5ceae1e4b53453484c7b0364.tar.xz
kernel-qcow2-linux-88dc1c3f7f9058cd5ceae1e4b53453484c7b0364.zip
cfg80211: mark regdomains with > NL80211_MAX_SUPP_REG_RULES invalid
Lets remain consistent and mark rds with > NL80211_MAX_SUPP_REG_RULES number of reg rules as invalid in is_valid_rd(). Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/reg.c')
-rw-r--r--net/wireless/reg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index f8e7beb23add..f0ff3d1779da 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -352,6 +352,9 @@ static bool is_valid_rd(const struct ieee80211_regdomain *rd)
if (!rd->n_reg_rules)
return false;
+ if (WARN_ON(rd->n_reg_rules > NL80211_MAX_SUPP_REG_RULES))
+ return false;
+
for (i = 0; i < rd->n_reg_rules; i++) {
reg_rule = &rd->reg_rules[i];
if (!is_valid_reg_rule(reg_rule))