mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
wifi: iwlwifi: mvm: fix potential memory leak
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>
This commit is contained in:
parent
f4d4ba4613
commit
457d7fb03e
1 changed files with 7 additions and 7 deletions
|
@ -2722,6 +2722,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;
|
||||
|
||||
|
@ -2740,13 +2747,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,
|
||||
|
|
Loading…
Add table
Reference in a new issue