mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-04-13 09:59:31 +00:00
wifi: mac80211: set key link ID to the deflink one
When in non-MLO mode, the key ID was set to -1 even for keys that are not pairwise. Change the link ID to be the link ID of the deflink in this case so that drivers do not need to special cases for this. Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20250102161730.0c066f084677.I4a5c288465e75119edb6a0df90dddf6f30d14a02@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
e3d91a681c
commit
6bd9a087c8
3 changed files with 10 additions and 5 deletions
|
@ -2229,7 +2229,7 @@ enum ieee80211_key_flags {
|
|||
* - Temporal Authenticator Rx MIC Key (64 bits)
|
||||
* @icv_len: The ICV length for this key type
|
||||
* @iv_len: The IV length for this key type
|
||||
* @link_id: the link ID for MLO, or -1 for non-MLO or pairwise keys
|
||||
* @link_id: the link ID, 0 for non-MLO, or -1 for pairwise keys
|
||||
*/
|
||||
struct ieee80211_key_conf {
|
||||
atomic64_t tx_pn;
|
||||
|
|
|
@ -503,6 +503,9 @@ static int ieee80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
|||
if (IS_ERR(link))
|
||||
return PTR_ERR(link);
|
||||
|
||||
if (WARN_ON(pairwise && link_id >= 0))
|
||||
return -EINVAL;
|
||||
|
||||
if (pairwise && params->mode == NL80211_KEY_SET_TX)
|
||||
return ieee80211_set_tx(sdata, mac_addr, key_idx);
|
||||
|
||||
|
@ -525,10 +528,12 @@ static int ieee80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
|||
if (IS_ERR(key))
|
||||
return PTR_ERR(key);
|
||||
|
||||
key->conf.link_id = link_id;
|
||||
|
||||
if (pairwise)
|
||||
if (pairwise) {
|
||||
key->conf.flags |= IEEE80211_KEY_FLAG_PAIRWISE;
|
||||
key->conf.link_id = -1;
|
||||
} else {
|
||||
key->conf.link_id = link->link_id;
|
||||
}
|
||||
|
||||
if (params->mode == NL80211_KEY_NO_TX)
|
||||
key->conf.flags |= IEEE80211_KEY_FLAG_NO_AUTO_TX;
|
||||
|
|
|
@ -1409,7 +1409,7 @@ ieee80211_gtk_rekey_add(struct ieee80211_vif *vif,
|
|||
if (sdata->u.mgd.mfp != IEEE80211_MFP_DISABLED)
|
||||
key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT;
|
||||
|
||||
key->conf.link_id = link_id;
|
||||
key->conf.link_id = link_data->link_id;
|
||||
|
||||
err = ieee80211_key_link(key, link_data, NULL);
|
||||
if (err)
|
||||
|
|
Loading…
Add table
Reference in a new issue