summaryrefslogtreecommitdiff
path: root/net/wireless
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-05-10 20:14:43 +0200
committerJohn W. Linville <linville@tuxdriver.com>2012-05-16 13:08:15 -0400
commit3383b5a69de59eeef2501834c6e0960b7e2bff28 (patch)
tree08dd59ffc3e6b53ab59b2da27fcaecbe51092b23 /net/wireless
parentbdbc59b35f2a66cdd9465f573f865cc2109ab33d (diff)
downloadlinux-3.10-3383b5a69de59eeef2501834c6e0960b7e2bff28.tar.gz
linux-3.10-3383b5a69de59eeef2501834c6e0960b7e2bff28.tar.bz2
linux-3.10-3383b5a69de59eeef2501834c6e0960b7e2bff28.zip
nl80211: prevent additions to old station flags API
We don't really want/need to maintain the old station flags API any more, so refuse changes to new (not yet defined) flags from the old flags API. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/nl80211.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index b67b1114e25..f1b0774d098 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -2410,10 +2410,16 @@ static int parse_station_flags(struct genl_info *info,
return -EINVAL;
}
- for (flag = 1; flag <= NL80211_STA_FLAG_MAX; flag++)
- if (flags[flag])
+ for (flag = 1; flag <= NL80211_STA_FLAG_MAX; flag++) {
+ if (flags[flag]) {
params->sta_flags_set |= (1<<flag);
+ /* no longer support new API additions in old API */
+ if (flag > NL80211_STA_FLAG_MAX_OLD_API)
+ return -EINVAL;
+ }
+ }
+
return 0;
}