mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
wifi: mac80211: accept STA changes without link changes
If there's no link ID, then check that there are no changes to the link, and if so accept them, unless a new link is created. While at it, reject creating a new link without an address. This fixes authorizing an MLD (peer) that has no link 0. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
7dad3e39fd
commit
b303835dab
@ -1610,6 +1610,18 @@ static int sta_link_apply_parameters(struct ieee80211_local *local,
|
||||
rcu_dereference_protected(sta->link[link_id],
|
||||
lockdep_is_held(&local->sta_mtx));
|
||||
|
||||
/*
|
||||
* If there are no changes, then accept a link that doesn't exist,
|
||||
* unless it's a new link.
|
||||
*/
|
||||
if (params->link_id < 0 && !new_link &&
|
||||
!params->link_mac && !params->txpwr_set &&
|
||||
!params->supported_rates_len &&
|
||||
!params->ht_capa && !params->vht_capa &&
|
||||
!params->he_capa && !params->eht_capa &&
|
||||
!params->opmode_notif_used)
|
||||
return 0;
|
||||
|
||||
if (!link || !link_sta)
|
||||
return -EINVAL;
|
||||
|
||||
@ -1625,6 +1637,8 @@ static int sta_link_apply_parameters(struct ieee80211_local *local,
|
||||
params->link_mac)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
} else if (new_link) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (params->txpwr_set) {
|
||||
|
Loading…
Reference in New Issue
Block a user