brcmfmac: Fix a memory leak in error handling path in 'brcmf_cfg80211_attach'
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>
Wed, 21 Jun 2017 05:45:53 +0000 (07:45 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 27 Jun 2017 14:15:45 +0000 (17:15 +0300)
If 'wiphy_new()' fails, we leak 'ops'. Add a new label in the error
handling path to free it in such a case.

Cc: stable@vger.kernel.org
Fixes: 5c22fb85102a7 ("brcmfmac: add wowl gtk rekeying offload support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index 63e7683a80dd52c60a712bbab00c8b31d8ff4619..898c7b024c159df1761c179a53cf0ddcb94d9738 100644 (file)
@@ -6862,7 +6862,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
        wiphy = wiphy_new(ops, sizeof(struct brcmf_cfg80211_info));
        if (!wiphy) {
                brcmf_err("Could not allocate wiphy device\n");
-               return NULL;
+               goto ops_out;
        }
        memcpy(wiphy->perm_addr, drvr->mac, ETH_ALEN);
        set_wiphy_dev(wiphy, busdev);
@@ -7013,6 +7013,7 @@ priv_out:
        ifp->vif = NULL;
 wiphy_out:
        brcmf_free_wiphy(wiphy);
+ops_out:
        kfree(ops);
        return NULL;
 }