Integrate security patch 2023-09-05-CVE-2023-28584
Change-Id: Ibf13f8103e5b73ce1aa2e0e800184ff2e8f16620
(cherry picked from commit 5915b4f6612f40f3c87448cdfeafa5a6a42072f3)
diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c
index 3bdc69a..5bb35c3 100644
--- a/core/mac/src/pe/lim/lim_utils.c
+++ b/core/mac/src/pe/lim/lim_utils.c
@@ -1872,22 +1872,16 @@
}
/*
- * If the channel-list that AP is asking us to switch is invalid
- * then we cannot switch the channel. Just disassociate from AP.
- * We will find a better AP !!!
+ * The channel switch request received from AP is carrying
+ * invalid channel. It's ok to ignore this channel switch
+ * request as it might be from spoof AP. If it's from genuine
+ * AP, it may lead to heart beat failure and result in
+ * disconnection. DUT can go ahead and reconnect to it/any
+ * other AP once it disconnects.
*/
- if ((pe_session->limMlmState ==
- eLIM_MLM_LINK_ESTABLISHED_STATE) &&
- (pe_session->limSmeState != eLIM_SME_WT_DISASSOC_STATE) &&
- (pe_session->limSmeState != eLIM_SME_WT_DEAUTH_STATE)) {
- pe_err("Invalid channel! Disconnect");
- lim_tear_down_link_with_ap(mac,
- mac->lim.lim_timers.
- gLimChannelSwitchTimer.sessionId,
- eSIR_MAC_UNSUPPORTED_CHANNEL_CSA,
- eLIM_LINK_MONITORING_DISASSOC);
- return;
- }
+ pe_err("Invalid channel freq %u Ignore CSA request",
+ channel_freq);
+ return;
}
switch (pe_session->gLimChannelSwitch.state) {
case eLIM_CHANNEL_SWITCH_PRIMARY_ONLY: