2020-10-27 14:35:51

by Seung-Woo Kim

[permalink] [raw]
Subject: [PATCH] brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free}

There are missig brcmf_free() for brcmf_alloc(). Fix memory leak
by adding missed brcmf_free().

Reported-by: Jaehoon Chung <[email protected]>
Signed-off-by: Seung-Woo Kim <[email protected]>
---
.../wireless/broadcom/brcm80211/brcmfmac/pcie.c | 6 ++++--
.../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
index 39381cb..d8db0db 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
@@ -1936,16 +1936,18 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
fwreq = brcmf_pcie_prepare_fw_request(devinfo);
if (!fwreq) {
ret = -ENOMEM;
- goto fail_bus;
+ goto fail_brcmf;
}

ret = brcmf_fw_get_firmwares(bus->dev, fwreq, brcmf_pcie_setup);
if (ret < 0) {
kfree(fwreq);
- goto fail_bus;
+ goto fail_brcmf;
}
return 0;

+fail_brcmf:
+ brcmf_free(&devinfo->pdev->dev);
fail_bus:
kfree(bus->msgbuf);
kfree(bus);
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index 99987a7..59c2b2b 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -4541,6 +4541,7 @@ void brcmf_sdio_remove(struct brcmf_sdio *bus)
brcmf_sdiod_intr_unregister(bus->sdiodev);

brcmf_detach(bus->sdiodev->dev);
+ brcmf_free(bus->sdiodev->dev);

cancel_work_sync(&bus->datawork);
if (bus->brcmf_wq)
--
1.7.4.1


2020-10-27 14:52:46

by Arend van Spriel

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free}

On 10/27/2020 11:47 AM, Seung-Woo Kim wrote:
> There are missig brcmf_free() for brcmf_alloc(). Fix memory leak
> by adding missed brcmf_free().

Probably should add Fixes: tag for commit a1f5aac1765af. See this link
[1] about the proper format.

Reviewed-by: Arend van Spriel <[email protected]>
> Reported-by: Jaehoon Chung <[email protected]>
> Signed-off-by: Seung-Woo Kim <[email protected]>
> ---
> .../wireless/broadcom/brcm80211/brcmfmac/pcie.c | 6 ++++--
> .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 1 +
> 2 files changed, 5 insertions(+), 2 deletions(-)

[1]
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#fixes_line_is_incorrect


Attachments:
smime.p7s (4.08 kB)
S/MIME Cryptographic Signature