diff mbox series

[08/11] wifi: iwlwifi: mvm: Fix associated initiator key setting

Message ID 20240618194245.be2a5327554d.Ie53220b075dacb23a8d073f6008aafd339368592@changeid (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series wifi: iwlwifi: updates - 18-06-24 | expand

Commit Message

Korenblit, Miriam Rachel June 18, 2024, 4:44 p.m. UTC
From: Ilan Peer <ilan.peer@intel.com>

When setting the keys for secure measurement with an AP the station
is associated with, the TK should only be referenced and not copied.

In addition set the cipher only when the correct station is found.

Fixes: 626be4bf99f6 ("wifi: iwlwifi: mvm: modify iwl_mvm_ftm_set_secured_ranging() parameters")
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c b/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c
index 00d447e40cc6..afd90a52d4ec 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c
@@ -732,10 +732,7 @@  static void iter(struct ieee80211_hw *hw,
 
 	WARN_ON(!sta->mfp);
 
-	if (WARN_ON(key->keylen > sizeof(target->tk)))
-		return;
-
-	memcpy(target->tk, key->key, key->keylen);
+	target->tk = key->key;
 	*target->cipher = iwl_mvm_cipher_to_location_cipher(key->cipher);
 	WARN_ON(*target->cipher == IWL_LOCATION_CIPHER_INVALID);
 }
@@ -774,9 +771,7 @@  iwl_mvm_ftm_set_secured_ranging(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 		    !memcmp(vif->bss_conf.bssid, bssid, ETH_ALEN)) {
 			struct iwl_mvm_ftm_iter_data target;
 
-			target.cipher = cipher;
 			target.bssid = bssid;
-			target.tk = tk;
 			ieee80211_iter_keys(mvm->hw, vif, iter, &target);
 		} else {
 			memcpy(tk, entry->tk, sizeof(entry->tk));