qcacld-3.0: Clear same pmk info while processing del/flush pmk

Clear sae_single_pmk info while processing del/flush pmk command
from supplicant, if required.

Change-Id: Idd974822ef0426461cd9971e54d8244d64b246b5
CRs-Fixed: 2616036
This commit is contained in:
Abhinav Kumar
2020-02-10 20:57:24 +05:30
committed by nshrivas
parent 3868028546
commit 267ed0068e
7 changed files with 159 additions and 16 deletions

View File

@@ -3666,6 +3666,37 @@ void wlan_mlme_get_sae_single_pmk_info(struct wlan_objmgr_vdev *vdev,
qdf_mem_zero(pmksa->pmk_info.pmk, sizeof(*pmksa->pmk_info.pmk));
pmksa->pmk_info.pmk_len = 0;
}
void wlan_mlme_clear_sae_single_pmk_info(struct wlan_objmgr_vdev *vdev,
struct mlme_pmk_info *pmk_recv)
{
struct mlme_legacy_priv *mlme_priv;
struct wlan_mlme_sae_single_pmk sae_single_pmk;
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
if (!mlme_priv) {
mlme_legacy_err("vdev legacy private object is NULL");
return;
}
sae_single_pmk = mlme_priv->mlme_roam.sae_single_pmk;
if (!pmk_recv) {
/* Process flush pmk cmd */
mlme_legacy_debug("Flush sae_single_pmk info");
qdf_mem_zero(&sae_single_pmk.pmk_info,
sizeof(sae_single_pmk.pmk_info));
} else if (pmk_recv->pmk_len != sae_single_pmk.pmk_info.pmk_len) {
mlme_legacy_debug("Invalid pmk len");
return;
} else if (!qdf_mem_cmp(&sae_single_pmk.pmk_info.pmk, pmk_recv->pmk,
pmk_recv->pmk_len)) {
/* Process delete pmk cmd */
mlme_legacy_debug("Clear sae_single_pmk info");
qdf_mem_zero(&sae_single_pmk.pmk_info,
sizeof(sae_single_pmk.pmk_info));
}
}
#endif
char *mlme_get_roam_fail_reason_str(uint32_t result)