]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: iwlwifi: fw: Fix possible memory leak in iwl_fw_dbg_collect
authorPagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
Wed, 11 Jun 2025 19:26:23 +0000 (22:26 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:22:43 +0000 (16:22 +0200)
[ Upstream commit cc8d9cbf269dab363c768bfa9312265bc807fca5 ]

Ensure descriptor is freed on error to avoid memory leak.

Signed-off-by: Pagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250611222325.8158d15ec866.Ifa3e422c302397111f20a16da7509e6574bc19e3@changeid
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/fw/dbg.c

index 558caf78a56da71121e82cd817fb99a9e977914f..37c1158b9225d8142b01b395182afe1368e0709b 100644 (file)
@@ -2507,6 +2507,7 @@ int iwl_fw_dbg_collect(struct iwl_fw_runtime *fwrt,
        struct iwl_fw_dump_desc *desc;
        unsigned int delay = 0;
        bool monitor_only = false;
+       int ret;
 
        if (trigger) {
                u16 occurrences = le16_to_cpu(trigger->occurrences) - 1;
@@ -2537,7 +2538,11 @@ int iwl_fw_dbg_collect(struct iwl_fw_runtime *fwrt,
        desc->trig_desc.type = cpu_to_le32(trig);
        memcpy(desc->trig_desc.data, str, len);
 
-       return iwl_fw_dbg_collect_desc(fwrt, desc, monitor_only, delay);
+       ret = iwl_fw_dbg_collect_desc(fwrt, desc, monitor_only, delay);
+       if (ret)
+               kfree(desc);
+
+       return ret;
 }
 IWL_EXPORT_SYMBOL(iwl_fw_dbg_collect);