summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeshwanth Sriram Guntuka <ysriramg@codeaurora.org>2021-02-19 17:05:12 +0530
committerchenpaul <chenpaul@google.com>2021-03-23 18:56:10 +0800
commit3f415e4197c670f078489f96918506e9196e9431 (patch)
tree64fa8c23c955a7147ea84d9a48c09c41c7757050
parent4fe63da8d600bae507754771d7493703be794d54 (diff)
downloadqcacld-3f415e4197c670f078489f96918506e9196e9431.tar.gz
qcacld-3.0: Flush frags for peer on add key request
Fragments are not flushed as part of rekey which could result in fragments encrypted under different keys to be reassembled. Fix is to flush fragments for the peer for which add key request is received. Change-Id: I0c018ff7375272125c62aaea7b8ad4df9e842508 CRs-Fixed: 2875950 Bug: 182958222
-rw-r--r--core/hdd/src/wlan_hdd_cfg80211.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index 5581ae83b2..2be6f95181 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -16907,6 +16907,11 @@ static int __wlan_hdd_cfg80211_add_key(struct wiphy *wiphy,
setKey.keyDirection = eSIR_TX_RX;
qdf_mem_copy(setKey.peerMac.bytes, mac_addr, QDF_MAC_ADDR_SIZE);
}
+
+ cdp_peer_flush_frags(cds_get_context(QDF_MODULE_ID_SOC),
+ cds_get_context(QDF_MODULE_ID_TXRX),
+ adapter->session_id, setKey.peerMac.bytes);
+
if ((QDF_IBSS_MODE == adapter->device_mode) && !pairwise) {
/* if a key is already installed, block all subsequent ones */
if (adapter->session.station.ibss_enc_key_installed) {