]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: brcmfmac: fix memory leak in brcmf_get_module_param
authorAbdun Nihaal <abdun.nihaal@gmail.com>
Sun, 30 Mar 2025 10:34:24 +0000 (16:04 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 2 Apr 2025 09:22:34 +0000 (11:22 +0200)
The memory allocated for settings is not freed when brcmf_of_probe
fails. Fix that by freeing settings before returning in error path.

Fixes: 0ff0843310b7 ("wifi: brcmfmac: Add optional lpo clock enable support")
Signed-off-by: Abdun Nihaal <abdun.nihaal@gmail.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Link: https://patch.msgid.link/20250330103425.44197-1-abdun.nihaal@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c

index cfcf01eb0daa54677a289bbe2b0e9d24ef40a512..f26e4679e4ff02a1d2f640abd04d2751567ae408 100644 (file)
@@ -561,8 +561,10 @@ struct brcmf_mp_device *brcmf_get_module_param(struct device *dev,
        if (!found) {
                /* No platform data for this device, try OF and DMI data */
                brcmf_dmi_probe(settings, chip, chiprev);
-               if (brcmf_of_probe(dev, bus_type, settings) == -EPROBE_DEFER)
+               if (brcmf_of_probe(dev, bus_type, settings) == -EPROBE_DEFER) {
+                       kfree(settings);
                        return ERR_PTR(-EPROBE_DEFER);
+               }
                brcmf_acpi_probe(dev, bus_type, settings);
        }
        return settings;