wifi: mac80211: fix Spatial Reuse element size check
authorLingbo Kong <quic_lingbok@quicinc.com>
Thu, 16 May 2024 02:18:53 +0000 (10:18 +0800)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 29 May 2024 13:34:46 +0000 (15:34 +0200)
commit0c2fd18f7ec552796179c14f13a0e06942f09d16
tree028e927bfd03e8a39d924354390a3f8f224a292a
parent4bb95f4535489ed830cf9b34b0a891e384d1aee4
wifi: mac80211: fix Spatial Reuse element size check

Currently, the way to check the size of Spatial Reuse IE data in the
ieee80211_parse_extension_element() is incorrect.

This is because the len variable in the ieee80211_parse_extension_element()
function is equal to the size of Spatial Reuse IE data minus one and the
value of returned by the ieee80211_he_spr_size() function is equal to
the length of Spatial Reuse IE data. So the result of the
len >= ieee80211_he_spr_size(data) statement always false.

To address this issue and make it consistent with the logic used elsewhere
with ieee80211_he_oper_size(), change the
"len >= ieee80211_he_spr_size(data)" to
“len >= ieee80211_he_spr_size(data) - 1”.

Fixes: 9d0480a7c05b ("wifi: mac80211: move element parsing to a new file")
Signed-off-by: Lingbo Kong <quic_lingbok@quicinc.com>
Link: https://msgid.link/20240516021854.5682-2-quic_lingbok@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/parse.c