提交 95f83ee8 编写于 作者: A Abinaya Kalaiselvan 提交者: Johannes Berg

mac80211: fix NULL ptr dereference during mesh peer connection for non HE devices

"sband->iftype_data" is not assigned with any value for non HE supported
devices, which causes NULL pointer access during mesh peer connection
in those devices. Fix this by accessing the pointer after HE
capabilities condition check.

Cc: stable@vger.kernel.org
Fixes: 7f7aa94b (mac80211: reduce peer HE MCS/NSS to own capabilities)
Signed-off-by: NAbinaya Kalaiselvan <akalaise@codeaurora.org>
Link: https://lore.kernel.org/r/1624459244-4497-1-git-send-email-akalaise@codeaurora.orgSigned-off-by: NJohannes Berg <johannes.berg@intel.com>
上级 6e899fa0
...@@ -111,7 +111,7 @@ ieee80211_he_cap_ie_to_sta_he_cap(struct ieee80211_sub_if_data *sdata, ...@@ -111,7 +111,7 @@ ieee80211_he_cap_ie_to_sta_he_cap(struct ieee80211_sub_if_data *sdata,
struct sta_info *sta) struct sta_info *sta)
{ {
struct ieee80211_sta_he_cap *he_cap = &sta->sta.he_cap; struct ieee80211_sta_he_cap *he_cap = &sta->sta.he_cap;
struct ieee80211_sta_he_cap own_he_cap = sband->iftype_data->he_cap; struct ieee80211_sta_he_cap own_he_cap;
struct ieee80211_he_cap_elem *he_cap_ie_elem = (void *)he_cap_ie; struct ieee80211_he_cap_elem *he_cap_ie_elem = (void *)he_cap_ie;
u8 he_ppe_size; u8 he_ppe_size;
u8 mcs_nss_size; u8 mcs_nss_size;
...@@ -125,6 +125,8 @@ ieee80211_he_cap_ie_to_sta_he_cap(struct ieee80211_sub_if_data *sdata, ...@@ -125,6 +125,8 @@ ieee80211_he_cap_ie_to_sta_he_cap(struct ieee80211_sub_if_data *sdata,
ieee80211_vif_type_p2p(&sdata->vif))) ieee80211_vif_type_p2p(&sdata->vif)))
return; return;
own_he_cap = sband->iftype_data->he_cap;
/* Make sure size is OK */ /* Make sure size is OK */
mcs_nss_size = ieee80211_he_mcs_nss_size(he_cap_ie_elem); mcs_nss_size = ieee80211_he_mcs_nss_size(he_cap_ie_elem);
he_ppe_size = he_ppe_size =
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册