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:
@@ -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)
|
||||
|
Reference in New Issue
Block a user