mirror of
https://github.com/torvalds/linux.git
synced 2026-09-26 10:02:02 +02:00
wifi: mac80211: require a peer station for TDLS setup confirm
It's nonsense for the setup confirm to go to station that
doesn't even exist, and it hits a warning when building
the frame:
WARN_ON_ONCE(!sta || !ap_sta)
Only accept WLAN_TDLS_SETUP_CONFIRM when the station is
already there as a TDLS station. Need to copy the call
to ieee80211_tdls_prep_mgmt_packet() since the existing
WLAN_TDLS_DISCOVERY_REQUEST already falls through to it.
Assisted-by: LLM
Fixes: 6f7eaa47e1 ("mac80211: add TDLS QoS param IE on setup-confirm")
Reported-by: syzbot+e55106f8389651870be0@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=e55106f8389651870be0
Link: https://patch.msgid.link/20260908122838.201719-15-johannes@sipsolutions.net
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
4504f3960d
commit
038e1d1263
|
|
@ -1281,6 +1281,24 @@ int ieee80211_tdls_mgmt(struct wiphy *wiphy, struct net_device *dev,
|
|||
peer_capability, initiator,
|
||||
extra_ies, extra_ies_len);
|
||||
break;
|
||||
case WLAN_TDLS_SETUP_CONFIRM: {
|
||||
struct sta_info *sta;
|
||||
|
||||
sta = sta_info_get(sdata, peer);
|
||||
if (!sta || !sta->sta.tdls) {
|
||||
ret = -ENOLINK;
|
||||
break;
|
||||
}
|
||||
|
||||
ret = ieee80211_tdls_prep_mgmt_packet(wiphy, dev, peer,
|
||||
link_id, action_code,
|
||||
dialog_token,
|
||||
status_code,
|
||||
peer_capability,
|
||||
initiator, extra_ies,
|
||||
extra_ies_len, 0, NULL);
|
||||
break;
|
||||
}
|
||||
case WLAN_TDLS_DISCOVERY_REQUEST:
|
||||
/*
|
||||
* Protect the discovery so we can hear the TDLS discovery
|
||||
|
|
@ -1289,7 +1307,6 @@ int ieee80211_tdls_mgmt(struct wiphy *wiphy, struct net_device *dev,
|
|||
*/
|
||||
drv_mgd_protect_tdls_discover(sdata->local, sdata, link_id);
|
||||
fallthrough;
|
||||
case WLAN_TDLS_SETUP_CONFIRM:
|
||||
case WLAN_PUB_ACTION_TDLS_DISCOVER_RES:
|
||||
/* no special handling */
|
||||
ret = ieee80211_tdls_prep_mgmt_packet(wiphy, dev, peer,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user