Lines Matching refs:rx

87 ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx)  in ieee80211_rx_h_michael_mic_verify()  argument
93 struct sk_buff *skb = rx->skb; in ieee80211_rx_h_michael_mic_verify()
114 if (!(status->flag & RX_FLAG_IV_STRIPPED) && rx->key && in ieee80211_rx_h_michael_mic_verify()
115 rx->key->conf.cipher == WLAN_CIPHER_SUITE_TKIP) in ieee80211_rx_h_michael_mic_verify()
126 if (!rx->key || rx->key->conf.cipher != WLAN_CIPHER_SUITE_TKIP || in ieee80211_rx_h_michael_mic_verify()
130 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && rx->key->conf.keyidx) { in ieee80211_rx_h_michael_mic_verify()
147 if (skb_linearize(rx->skb)) in ieee80211_rx_h_michael_mic_verify()
153 key = &rx->key->conf.key[NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY]; in ieee80211_rx_h_michael_mic_verify()
163 rx->key->u.tkip.rx[rx->security_idx].iv32 = rx->tkip_iv32; in ieee80211_rx_h_michael_mic_verify()
164 rx->key->u.tkip.rx[rx->security_idx].iv16 = rx->tkip_iv16; in ieee80211_rx_h_michael_mic_verify()
169 rx->key->u.tkip.mic_failures++; in ieee80211_rx_h_michael_mic_verify()
177 mac80211_ev_michael_mic_failure(rx->sdata, in ieee80211_rx_h_michael_mic_verify()
178 rx->key ? rx->key->conf.keyidx : -1, in ieee80211_rx_h_michael_mic_verify()
258 ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_tkip_decrypt() argument
260 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) rx->skb->data; in ieee80211_crypto_tkip_decrypt()
262 struct ieee80211_key *key = rx->key; in ieee80211_crypto_tkip_decrypt()
263 struct sk_buff *skb = rx->skb; in ieee80211_crypto_tkip_decrypt()
271 if (!rx->sta || skb->len - hdrlen < 12) in ieee80211_crypto_tkip_decrypt()
275 if (skb_linearize(rx->skb)) in ieee80211_crypto_tkip_decrypt()
287 res = ieee80211_tkip_decrypt_data(rx->local->wep_rx_tfm, in ieee80211_crypto_tkip_decrypt()
289 skb->len - hdrlen, rx->sta->sta.addr, in ieee80211_crypto_tkip_decrypt()
290 hdr->addr1, hwaccel, rx->security_idx, in ieee80211_crypto_tkip_decrypt()
291 &rx->tkip_iv32, in ieee80211_crypto_tkip_decrypt()
292 &rx->tkip_iv16); in ieee80211_crypto_tkip_decrypt()
489 ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx, in ieee80211_crypto_ccmp_decrypt() argument
492 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_ccmp_decrypt()
494 struct ieee80211_key *key = rx->key; in ieee80211_crypto_ccmp_decrypt()
495 struct sk_buff *skb = rx->skb; in ieee80211_crypto_ccmp_decrypt()
508 if (!rx->sta || data_len < 0) in ieee80211_crypto_ccmp_decrypt()
512 if (!pskb_may_pull(rx->skb, hdrlen + IEEE80211_CCMP_HDR_LEN)) in ieee80211_crypto_ccmp_decrypt()
515 if (skb_linearize(rx->skb)) in ieee80211_crypto_ccmp_decrypt()
521 queue = rx->security_idx; in ieee80211_crypto_ccmp_decrypt()
712 ieee80211_crypto_gcmp_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_gcmp_decrypt() argument
714 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_gcmp_decrypt()
716 struct ieee80211_key *key = rx->key; in ieee80211_crypto_gcmp_decrypt()
717 struct sk_buff *skb = rx->skb; in ieee80211_crypto_gcmp_decrypt()
731 if (!rx->sta || data_len < 0) in ieee80211_crypto_gcmp_decrypt()
735 if (!pskb_may_pull(rx->skb, hdrlen + IEEE80211_GCMP_HDR_LEN)) in ieee80211_crypto_gcmp_decrypt()
738 if (skb_linearize(rx->skb)) in ieee80211_crypto_gcmp_decrypt()
744 queue = rx->security_idx; in ieee80211_crypto_gcmp_decrypt()
820 ieee80211_crypto_cs_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_cs_decrypt() argument
822 struct ieee80211_key *key = rx->key; in ieee80211_crypto_cs_decrypt()
823 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_cs_decrypt()
826 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb); in ieee80211_crypto_cs_decrypt()
832 if (!rx->sta || !rx->sta->cipher_scheme || in ieee80211_crypto_cs_decrypt()
839 cs = rx->sta->cipher_scheme; in ieee80211_crypto_cs_decrypt()
841 data_len = rx->skb->len - hdrlen - cs->hdr_len; in ieee80211_crypto_cs_decrypt()
852 if (skb_linearize(rx->skb)) in ieee80211_crypto_cs_decrypt()
855 hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_cs_decrypt()
858 skb_pn = rx->skb->data + hdrlen + cs->pn_off; in ieee80211_crypto_cs_decrypt()
866 if (pskb_trim(rx->skb, rx->skb->len - cs->mic_len)) in ieee80211_crypto_cs_decrypt()
869 memmove(rx->skb->data + cs->hdr_len, rx->skb->data, hdrlen); in ieee80211_crypto_cs_decrypt()
870 skb_pull(rx->skb, cs->hdr_len); in ieee80211_crypto_cs_decrypt()
1002 ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_aes_cmac_decrypt() argument
1004 struct sk_buff *skb = rx->skb; in ieee80211_crypto_aes_cmac_decrypt()
1006 struct ieee80211_key *key = rx->key; in ieee80211_crypto_aes_cmac_decrypt()
1052 ieee80211_crypto_aes_cmac_256_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_aes_cmac_256_decrypt() argument
1054 struct sk_buff *skb = rx->skb; in ieee80211_crypto_aes_cmac_256_decrypt()
1056 struct ieee80211_key *key = rx->key; in ieee80211_crypto_aes_cmac_256_decrypt()
1151 ieee80211_crypto_aes_gmac_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_aes_gmac_decrypt() argument
1153 struct sk_buff *skb = rx->skb; in ieee80211_crypto_aes_gmac_decrypt()
1155 struct ieee80211_key *key = rx->key; in ieee80211_crypto_aes_gmac_decrypt()
1232 ieee80211_crypto_hw_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_hw_decrypt() argument
1234 if (rx->sta && rx->sta->cipher_scheme) in ieee80211_crypto_hw_decrypt()
1235 return ieee80211_crypto_cs_decrypt(rx); in ieee80211_crypto_hw_decrypt()