Lines Matching refs:key

82 static const u8 *iwl_mvm_find_max_pn(struct ieee80211_key_conf *key,  in iwl_mvm_find_max_pn()  argument
91 ieee80211_get_key_rx_seq(key, tid, seq); in iwl_mvm_find_max_pn()
112 struct ieee80211_key_conf *key, in iwl_mvm_wowlan_program_keys() argument
120 switch (key->cipher) { in iwl_mvm_wowlan_program_keys()
133 .wep_key.key_index = key->keyidx, in iwl_mvm_wowlan_program_keys()
134 .wep_key.key_size = key->keylen, in iwl_mvm_wowlan_program_keys()
142 if (key->flags & IEEE80211_KEY_FLAG_PAIRWISE) in iwl_mvm_wowlan_program_keys()
145 memcpy(&wkc.wep_key.key[3], key->key, key->keylen); in iwl_mvm_wowlan_program_keys()
146 if (key->keyidx == mvmvif->tx_key_idx) { in iwl_mvm_wowlan_program_keys()
159 mvm->ptk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys()
160 mvm->ptk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys()
161 mvm->gtk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys()
162 mvm->gtk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys()
195 if (key->flags & IEEE80211_KEY_FLAG_PAIRWISE) { in iwl_mvm_wowlan_program_keys()
196 mvm->ptk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys()
197 mvm->ptk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys()
198 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, 0); in iwl_mvm_wowlan_program_keys()
206 mvm->gtk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys()
207 mvm->gtk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys()
208 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, 1); in iwl_mvm_wowlan_program_keys()
222 struct ieee80211_key_conf *key, in iwl_mvm_wowlan_get_rsc_tsc_data() argument
232 switch (key->cipher) { in iwl_mvm_wowlan_get_rsc_tsc_data()
244 pn64 = atomic64_read(&key->tx_pn); in iwl_mvm_wowlan_get_rsc_tsc_data()
258 ieee80211_get_key_rx_seq(key, i, &seq); in iwl_mvm_wowlan_get_rsc_tsc_data()
277 pn64 = atomic64_read(&key->tx_pn); in iwl_mvm_wowlan_get_rsc_tsc_data()
295 ptk_pn = rcu_dereference(mvmsta->ptk_pn[key->keyidx]); in iwl_mvm_wowlan_get_rsc_tsc_data()
302 pn = iwl_mvm_find_max_pn(key, ptk_pn, &seq, i, in iwl_mvm_wowlan_get_rsc_tsc_data()
317 ieee80211_get_key_rx_seq(key, i, &seq); in iwl_mvm_wowlan_get_rsc_tsc_data()
341 struct ieee80211_key_conf *key, in iwl_mvm_wowlan_get_rsc_v5_data() argument
351 switch (key->cipher) { in iwl_mvm_wowlan_get_rsc_v5_data()
366 data->gtk_ids[data->gtks] = key->keyidx; in iwl_mvm_wowlan_get_rsc_v5_data()
368 if (WARN_ON(key->keyidx >= in iwl_mvm_wowlan_get_rsc_v5_data()
371 data->rsc->mcast_key_id_map[key->keyidx] = data->gtks % 2; in iwl_mvm_wowlan_get_rsc_v5_data()
382 switch (key->cipher) { in iwl_mvm_wowlan_get_rsc_v5_data()
394 ieee80211_get_key_rx_seq(key, i, &seq); in iwl_mvm_wowlan_get_rsc_v5_data()
416 ptk_pn = rcu_dereference(mvmsta->ptk_pn[key->keyidx]); in iwl_mvm_wowlan_get_rsc_v5_data()
423 pn = iwl_mvm_find_max_pn(key, ptk_pn, &seq, i, in iwl_mvm_wowlan_get_rsc_v5_data()
438 ieee80211_get_key_rx_seq(key, i, &seq); in iwl_mvm_wowlan_get_rsc_v5_data()
528 struct ieee80211_key_conf *key, in iwl_mvm_wowlan_get_tkip_data() argument
539 switch (key->cipher) { in iwl_mvm_wowlan_get_tkip_data()
548 pn64 = atomic64_read(&key->tx_pn); in iwl_mvm_wowlan_get_tkip_data()
550 ieee80211_get_tkip_p1k_iv(key, TKIP_PN_TO_IV32(pn64), in iwl_mvm_wowlan_get_tkip_data()
555 &key->key[NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY], in iwl_mvm_wowlan_get_tkip_data()
565 ieee80211_get_key_rx_seq(key, i, &seq); in iwl_mvm_wowlan_get_tkip_data()
571 ieee80211_get_tkip_rx_p1k(key, vif->bss_conf.bssid, in iwl_mvm_wowlan_get_tkip_data()
574 ieee80211_get_tkip_rx_p1k(key, vif->bss_conf.bssid, in iwl_mvm_wowlan_get_tkip_data()
579 &key->key[NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY], in iwl_mvm_wowlan_get_tkip_data()
594 struct ieee80211_key_conf *key, in iwl_mvm_wowlan_gtk_type_iter() argument
600 if (key->keyidx == 4 || key->keyidx == 5) in iwl_mvm_wowlan_gtk_type_iter()
602 if (key->keyidx == 6 || key->keyidx == 7) in iwl_mvm_wowlan_gtk_type_iter()
605 switch (key->cipher) { in iwl_mvm_wowlan_gtk_type_iter()
1391 u8 key[WOWLAN_KEY_MAX_SIZE]; member
1413 u8 key[WOWLAN_KEY_MAX_SIZE]; member
1617 static void iwl_mvm_set_key_rx_seq_tids(struct ieee80211_key_conf *key, in iwl_mvm_set_key_rx_seq_tids() argument
1623 ieee80211_set_key_rx_seq(key, tid, &seq[tid]); in iwl_mvm_set_key_rx_seq_tids()
1629 struct ieee80211_key_conf *key) in iwl_mvm_set_aes_ptk_rx_seq() argument
1635 iwl_mvm_set_key_rx_seq_tids(key, status->ptk.aes.seq); in iwl_mvm_set_aes_ptk_rx_seq()
1642 ptk_pn = rcu_dereference(mvmsta->ptk_pn[key->keyidx]); in iwl_mvm_set_aes_ptk_rx_seq()
1739 static void iwl_mvm_set_key_rx_seq_idx(struct ieee80211_key_conf *key, in iwl_mvm_set_key_rx_seq_idx() argument
1743 switch (key->cipher) { in iwl_mvm_set_key_rx_seq_idx()
1747 iwl_mvm_set_key_rx_seq_tids(key, status->gtk_seq[idx].aes.seq); in iwl_mvm_set_key_rx_seq_idx()
1750 iwl_mvm_set_key_rx_seq_tids(key, status->gtk_seq[idx].tkip.seq); in iwl_mvm_set_key_rx_seq_idx()
1757 static void iwl_mvm_set_key_rx_seq(struct ieee80211_key_conf *key, in iwl_mvm_set_key_rx_seq() argument
1768 if (status->gtk_seq[i].key_id == key->keyidx) { in iwl_mvm_set_key_rx_seq()
1776 if (new_key_id != key->keyidx) in iwl_mvm_set_key_rx_seq()
1777 iwl_mvm_set_key_rx_seq_idx(key, status, i); in iwl_mvm_set_key_rx_seq()
1784 iwl_mvm_set_key_rx_seq_idx(key, status, i); in iwl_mvm_set_key_rx_seq()
1799 struct ieee80211_key_conf *key, in iwl_mvm_d3_find_last_keys() argument
1807 switch (key->cipher) { in iwl_mvm_d3_find_last_keys()
1817 data->gtk_cipher = key->cipher; in iwl_mvm_d3_find_last_keys()
1825 (key->keyidx == 4 || key->keyidx == 5)) { in iwl_mvm_d3_find_last_keys()
1826 data->igtk_cipher = key->cipher; in iwl_mvm_d3_find_last_keys()
1842 iwl_mvm_d3_set_igtk_bigtk_ipn(const struct iwl_multicast_key_data *key, in iwl_mvm_d3_set_igtk_bigtk_ipn() argument
1848 BUILD_BUG_ON(sizeof(seq->aes_gmac.pn) != sizeof(key->ipn)); in iwl_mvm_d3_set_igtk_bigtk_ipn()
1849 memcpy(seq->aes_gmac.pn, key->ipn, sizeof(seq->aes_gmac.pn)); in iwl_mvm_d3_set_igtk_bigtk_ipn()
1853 BUILD_BUG_ON(sizeof(seq->aes_cmac.pn) != sizeof(key->ipn)); in iwl_mvm_d3_set_igtk_bigtk_ipn()
1854 memcpy(seq->aes_cmac.pn, key->ipn, sizeof(seq->aes_cmac.pn)); in iwl_mvm_d3_set_igtk_bigtk_ipn()
1864 struct ieee80211_key_conf *key, in iwl_mvm_d3_update_keys() argument
1874 switch (key->cipher) { in iwl_mvm_d3_update_keys()
1883 atomic64_set(&key->tx_pn, status->ptk.aes.tx_pn); in iwl_mvm_d3_update_keys()
1884 iwl_mvm_set_aes_ptk_rx_seq(data->mvm, status, sta, key); in iwl_mvm_d3_update_keys()
1890 atomic64_set(&key->tx_pn, status->ptk.tkip.tx_pn); in iwl_mvm_d3_update_keys()
1891 iwl_mvm_set_key_rx_seq_tids(key, status->ptk.tkip.seq); in iwl_mvm_d3_update_keys()
1894 keyidx = key->keyidx; in iwl_mvm_d3_update_keys()
1903 ieee80211_remove_key(key); in iwl_mvm_d3_update_keys()
1905 iwl_mvm_set_key_rx_seq(key, data->status, false); in iwl_mvm_d3_update_keys()
1912 if (key->keyidx == 4 || key->keyidx == 5) { in iwl_mvm_d3_update_keys()
1915 ieee80211_remove_key(key); in iwl_mvm_d3_update_keys()
1921 key->cipher); in iwl_mvm_d3_update_keys()
1922 ieee80211_set_key_rx_seq(key, 0, &seq); in iwl_mvm_d3_update_keys()
1933 struct ieee80211_key_conf *key; in iwl_mvm_gtk_rekey() local
1936 u8 key[32]; in iwl_mvm_gtk_rekey() member
1942 BUILD_BUG_ON(sizeof(conf.key) < WLAN_KEY_LEN_CCMP); in iwl_mvm_gtk_rekey()
1943 BUILD_BUG_ON(sizeof(conf.key) < WLAN_KEY_LEN_GCMP_256); in iwl_mvm_gtk_rekey()
1944 BUILD_BUG_ON(sizeof(conf.key) < WLAN_KEY_LEN_TKIP); in iwl_mvm_gtk_rekey()
1945 BUILD_BUG_ON(sizeof(conf.key) < sizeof(status->gtk[0].key)); in iwl_mvm_gtk_rekey()
1970 memcpy(conf.conf.key, status->gtk[i].key, in iwl_mvm_gtk_rekey()
1971 sizeof(status->gtk[i].key)); in iwl_mvm_gtk_rekey()
1973 key = ieee80211_gtk_rekey_add(vif, &conf.conf); in iwl_mvm_gtk_rekey()
1974 if (IS_ERR(key)) in iwl_mvm_gtk_rekey()
1976 iwl_mvm_set_key_rx_seq_idx(key, status, i); in iwl_mvm_gtk_rekey()
1990 u8 key[WOWLAN_KEY_MAX_SIZE]; in iwl_mvm_d3_igtk_bigtk_rekey_add() member
2018 BUILD_BUG_ON(sizeof(conf.key) < sizeof(key_data->key)); in iwl_mvm_d3_igtk_bigtk_rekey_add()
2019 memcpy(conf.conf.key, key_data->key, conf.conf.keylen); in iwl_mvm_d3_igtk_bigtk_rekey_add()
2130 BUILD_BUG_ON(sizeof(status->gtk[0].key) < sizeof(data->key)); in iwl_mvm_convert_gtk_v2()
2133 sizeof(status->gtk[0].key)); in iwl_mvm_convert_gtk_v2()
2138 memcpy(status->gtk[0].key, data->key, sizeof(data->key)); in iwl_mvm_convert_gtk_v2()
2142 memcpy(status->gtk[0].key + NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, in iwl_mvm_convert_gtk_v2()
2151 BUILD_BUG_ON(sizeof(status->gtk[0].key) < sizeof(data[0].key)); in iwl_mvm_convert_gtk_v3()
2154 sizeof(status->gtk[0].key)); in iwl_mvm_convert_gtk_v3()
2164 memcpy(status->gtk[status_idx].key, data[data_idx].key, in iwl_mvm_convert_gtk_v3()
2165 sizeof(data[data_idx].key)); in iwl_mvm_convert_gtk_v3()
2170 memcpy(status->gtk[status_idx].key + in iwl_mvm_convert_gtk_v3()
2183 BUILD_BUG_ON(sizeof(status->igtk.key) < sizeof(data->key)); in iwl_mvm_convert_igtk()
2195 memcpy(status->igtk.key, data->key, sizeof(data->key)); in iwl_mvm_convert_igtk()
2340 sizeof(status->gtk[0].key)); in iwl_mvm_parse_wowlan_status_common()
2343 sizeof(status->gtk[0].key)); in iwl_mvm_parse_wowlan_status_common()
2346 memcpy(status->gtk[0].key, v6->gtk.decrypt_key, in iwl_mvm_parse_wowlan_status_common()
2348 memcpy(status->gtk[0].key + NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, in iwl_mvm_parse_wowlan_status_common()