diff options
author | Johannes Berg <johannes.berg@intel.com> | 2017-04-27 13:19:04 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-05-08 11:25:04 +0200 |
commit | f1f3e9e2a50a70de908f9dfe0d870e9cdc67e042 (patch) | |
tree | 5104b9a107d333692b1bdb167f6623fa68e25953 | |
parent | 4954601f821bb5afd4dd59b57bf801adf4924bbd (diff) | |
download | op-kernel-dev-f1f3e9e2a50a70de908f9dfe0d870e9cdc67e042.zip op-kernel-dev-f1f3e9e2a50a70de908f9dfe0d870e9cdc67e042.tar.gz |
mac80211: fix IBSS presp allocation size
When VHT IBSS support was added, the size of the extra elements
wasn't considered in ieee80211_ibss_build_presp(), which makes
it possible that it would overrun the allocated buffer. Fix it
by allocating the necessary space.
Fixes: abcff6ef01f9 ("mac80211: add VHT support for IBSS")
Reported-by: Shaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/mac80211/ibss.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 6db09fa..364d4e1 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -66,6 +66,8 @@ ieee80211_ibss_build_presp(struct ieee80211_sub_if_data *sdata, 2 + (IEEE80211_MAX_SUPP_RATES - 8) + 2 + sizeof(struct ieee80211_ht_cap) + 2 + sizeof(struct ieee80211_ht_operation) + + 2 + sizeof(struct ieee80211_vht_cap) + + 2 + sizeof(struct ieee80211_vht_operation) + ifibss->ie_len; presp = kzalloc(sizeof(*presp) + frame_len, GFP_KERNEL); if (!presp) |