Message ID | 1603795630-14638-1-git-send-email-sw0312.kim@samsung.com |
---|---|
State | Superseded |
Headers | show |
Series | brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} | expand |
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 <arend.vanspriel@broadcom.com> > Reported-by: Jaehoon Chung <jh80.chung@samsung.com> > Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> > --- > .../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
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)
There are missig brcmf_free() for brcmf_alloc(). Fix memory leak by adding missed brcmf_free(). Reported-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> --- .../wireless/broadcom/brcm80211/brcmfmac/pcie.c | 6 ++++-- .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 1 + 2 files changed, 5 insertions(+), 2 deletions(-)