summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2013-11-05 20:16:49 +0100
committerJohannes Berg <johannes.berg@intel.com>2013-11-25 20:49:48 +0100
commit3cde38e7f3491ea62429556149713b7a875c9ac2 (patch)
tree2173aa3a3f80e82a6578a08c54d4ce8d615193a3
parentcfg80211: remove second argument from reg_process_hint() (diff)
downloadlinux-3cde38e7f3491ea62429556149713b7a875c9ac2.tar.xz
linux-3cde38e7f3491ea62429556149713b7a875c9ac2.zip
mac80211: fix off-by-one in llid check.
According to IEEE 802.11-2012 (8.4.2.104), no peering management element exists with length 7. This code is checking to see if llid is present to ignore close frames with different llid, which would be IEs with length 8. Signed-off-by: Bob Copeland <bob@cozybit.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/mesh_plink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
index 4301aa5aa227..a8c75c1c66b5 100644
--- a/net/mac80211/mesh_plink.c
+++ b/net/mac80211/mesh_plink.c
@@ -825,7 +825,7 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata,
event = CLS_ACPT;
else if (sta->plid != plid)
event = CLS_IGNR;
- else if (ie_len == 7 && sta->llid != llid)
+ else if (ie_len == 8 && sta->llid != llid)
event = CLS_IGNR;
else
event = CLS_ACPT;