]> git.baikalelectronics.ru Git - kernel.git/commitdiff
iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed
authorZhang Qilong <zhangqilong3@huawei.com>
Mon, 2 Aug 2021 14:28:24 +0000 (17:28 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 10:26:36 +0000 (12:26 +0200)
[ Upstream commit 0f5d44ac6e55551798dd3da0ff847c8df5990822 ]

If beacon_inject_active is true, we will return without freeing
beacon.  Fid that by freeing it before returning.

Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
[reworded the commit message]
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210802172232.d16206ca60fc.I9984a9b442c84814c307cee3213044e24d26f38a@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c

index 9c417dd0629138c0b01541a23d4d6bfd74996a3e..7736621dca653951774a49eae229a9fe5430d3f2 100644 (file)
@@ -1043,8 +1043,10 @@ int iwl_mvm_mac_ctxt_beacon_changed(struct iwl_mvm *mvm,
                return -ENOMEM;
 
 #ifdef CONFIG_IWLWIFI_DEBUGFS
-       if (mvm->beacon_inject_active)
+       if (mvm->beacon_inject_active) {
+               dev_kfree_skb(beacon);
                return -EBUSY;
+       }
 #endif
 
        ret = iwl_mvm_mac_ctxt_send_beacon(mvm, vif, beacon);