]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit()
authorZhang Changzhong <zhangchangzhong@huawei.com>
Thu, 17 Nov 2022 11:33:01 +0000 (19:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 15:26:35 +0000 (16:26 +0100)
[ Upstream commit 212fde3fe76e962598ce1d47b97cc78afdfc71b3 ]

The brcmf_netdev_start_xmit() returns NETDEV_TX_OK without freeing skb
in case of pskb_expand_head() fails, add dev_kfree_skb() to fix it.
Compile tested only.

Fixes: 270a6c1f65fe ("brcmfmac: rework headroom check in .start_xmit()")
Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/1668684782-47422-1-git-send-email-zhangchangzhong@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c

index 9c8102be1d0b3d2078d6c5c781f6067ea3c3c371..55027886f404116456ed8b53b45d33ba691d3649 100644 (file)
@@ -226,6 +226,7 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb,
                        brcmf_err("%s: failed to expand headroom\n",
                                  brcmf_ifname(ifp));
                        atomic_inc(&drvr->bus_if->stats.pktcow_failed);
+                       dev_kfree_skb(skb);
                        goto done;
                }
        }