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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Jul 2017 05:42:19 +0000 (07:42 +0200)
commit 57c00f2fac512837f8de73474ec1f54020015bae upstream.

If 'wiphy_new()' fails, we leak 'ops'. Add a new label in the error
handling path to free it in such a case.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index 9892df9..1d4352e 100644 (file)
@@ -6876,7 +6876,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);
@@ -7010,6 +7010,7 @@ priv_out:
        ifp->vif = NULL;
 wiphy_out:
        brcmf_free_wiphy(wiphy);
+ops_out:
        kfree(ops);
        return NULL;
 }