]> 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:25:57 +0000 (16:25 +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 4c5dbd8248e7b3d203f90450b5fee19ded589be6..20db79f341636ada2764ca9c1d5452cd672b55d6 100644 (file)
@@ -2786,6 +2786,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;
@@ -2816,7 +2817,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);