projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
44c06bb
)
wifi: cfg80211: validate HE operation element parsing
author
Johannes Berg
<johannes.berg@intel.com>
Thu, 23 May 2024 10:05:33 +0000
(12:05 +0200)
committer
Johannes Berg
<johannes.berg@intel.com>
Wed, 29 May 2024 13:20:11 +0000
(15:20 +0200)
Validate that the HE operation element has the correct
length before parsing it.
Cc: stable@vger.kernel.org
Fixes:
645f3d85129d
("wifi: cfg80211: handle UHB AP and STA power type")
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link:
https://msgid.link/20240523120533.677025eb4a92.I44c091029ef113c294e8fe8b9bf871bf5dbeeb27@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/scan.c
patch
|
blob
|
blame
|
history
diff --git
a/net/wireless/scan.c
b/net/wireless/scan.c
index 127853877a0ad14fec0f92615976c8fc8d33c3ef..8daed8232b0549add3ae15f804d30d03e7335d6f 100644
(file)
--- a/
net/wireless/scan.c
+++ b/
net/wireless/scan.c
@@
-2128,7
+2128,8
@@
static bool cfg80211_6ghz_power_type_valid(const u8 *ie, size_t ielen,
struct ieee80211_he_operation *he_oper;
tmp = cfg80211_find_ext_elem(WLAN_EID_EXT_HE_OPERATION, ie, ielen);
- if (tmp && tmp->datalen >= sizeof(*he_oper) + 1) {
+ if (tmp && tmp->datalen >= sizeof(*he_oper) + 1 &&
+ tmp->datalen >= ieee80211_he_oper_size(tmp->data + 1)) {
const struct ieee80211_he_6ghz_oper *he_6ghz_oper;
he_oper = (void *)&tmp->data[1];