mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
wifi: iwlwifi: mvm: fix potential memory leak
[ Upstream commit457d7fb03e] If we do get multiple notifications from firmware, then we might have allocated 'notif', but don't free it. Fix that by checking for duplicates before allocation. Fixes:4da46a06d4("wifi: iwlwifi: mvm: Add support for wowlan info notification") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230418122405.116758321cc4.I8bdbcbb38c89ac637eaa20dda58fa9165b25893a@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0c469078bd
commit
592af07ac0
@@ -2714,6 +2714,13 @@ static bool iwl_mvm_wait_d3_notif(struct iwl_notif_wait_data *notif_wait,
|
||||
case WIDE_ID(PROT_OFFLOAD_GROUP, WOWLAN_INFO_NOTIFICATION): {
|
||||
struct iwl_wowlan_info_notif *notif;
|
||||
|
||||
if (d3_data->notif_received & IWL_D3_NOTIF_WOWLAN_INFO) {
|
||||
/* We might get two notifications due to dual bss */
|
||||
IWL_DEBUG_WOWLAN(mvm,
|
||||
"Got additional wowlan info notification\n");
|
||||
break;
|
||||
}
|
||||
|
||||
if (wowlan_info_ver < 2) {
|
||||
struct iwl_wowlan_info_notif_v1 *notif_v1 = (void *)pkt->data;
|
||||
|
||||
@@ -2732,13 +2739,6 @@ static bool iwl_mvm_wait_d3_notif(struct iwl_notif_wait_data *notif_wait,
|
||||
notif = (void *)pkt->data;
|
||||
}
|
||||
|
||||
if (d3_data->notif_received & IWL_D3_NOTIF_WOWLAN_INFO) {
|
||||
/* We might get two notifications due to dual bss */
|
||||
IWL_DEBUG_WOWLAN(mvm,
|
||||
"Got additional wowlan info notification\n");
|
||||
break;
|
||||
}
|
||||
|
||||
d3_data->notif_received |= IWL_D3_NOTIF_WOWLAN_INFO;
|
||||
len = iwl_rx_packet_payload_len(pkt);
|
||||
iwl_mvm_parse_wowlan_info_notif(mvm, notif, d3_data->status,
|
||||
|
||||
Reference in New Issue
Block a user