ath79: modify device name of I-O DATA WN-AC1600DGR2
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / brcm / 368-v5.2-brcmfmac-fix-leak-of-mypkt-on-error-return-path.patch
1 From a927e8d8ab57e696800e20cf09a72b7dfe3bbebb Mon Sep 17 00:00:00 2001
2 From: Colin Ian King <colin.king@canonical.com>
3 Date: Tue, 9 Apr 2019 12:43:33 +0100
4 Subject: [PATCH] brcmfmac: fix leak of mypkt on error return path
5
6 Currently if the call to brcmf_sdiod_set_backplane_window fails then
7 error return path leaks mypkt. Fix this by returning by a new
8 error path labelled 'out' that calls brcmu_pkt_buf_free_skb to free
9 mypkt. Also remove redundant check on err before calling
10 brcmf_sdiod_skbuff_write.
11
12 Addresses-Coverity: ("Resource Leak")
13 Fixes: a7c3aa1509e2 ("brcmfmac: Remove brcmf_sdiod_addrprep()")
14 Signed-off-by: Colin Ian King <colin.king@canonical.com>
15 Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
16 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
17 ---
18 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 8 +++-----
19 1 file changed, 3 insertions(+), 5 deletions(-)
20
21 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
22 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
23 @@ -617,15 +617,13 @@ int brcmf_sdiod_send_buf(struct brcmf_sd
24
25 err = brcmf_sdiod_set_backplane_window(sdiodev, addr);
26 if (err)
27 - return err;
28 + goto out;
29
30 addr &= SBSDIO_SB_OFT_ADDR_MASK;
31 addr |= SBSDIO_SB_ACCESS_2_4B_FLAG;
32
33 - if (!err)
34 - err = brcmf_sdiod_skbuff_write(sdiodev, sdiodev->func2, addr,
35 - mypkt);
36 -
37 + err = brcmf_sdiod_skbuff_write(sdiodev, sdiodev->func2, addr, mypkt);
38 +out:
39 brcmu_pkt_buf_free_skb(mypkt);
40
41 return err;