summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorZhang Changzhong <zhangchangzhong@huawei.com>2022-12-04 09:09:08 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-12-14 13:32:04 +0300
commit87277bdf2c370ab2d07cfe77dfa9b37f82bbe1e5 (patch)
treea6770fb00aca040b32c2c4551194f99289e66bfb /drivers
parentcc668fddde4262f608baca2c9d85b9cf333e41c3 (diff)
downloadlinux-87277bdf2c370ab2d07cfe77dfa9b37f82bbe1e5.tar.xz
ethernet: aeroflex: fix potential skb leak in greth_init_rings()
[ Upstream commit 063a932b64db3317ec020c94466fe52923a15f60 ] The greth_init_rings() function won't free the newly allocated skb when dma_mapping_error() returns error, so add dev_kfree_skb() to fix it. Compile tested only. Fixes: d4c41139df6e ("net: Add Aeroflex Gaisler 10/100/1G Ethernet MAC driver") Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com> Reviewed-by: Leon Romanovsky <leonro@nvidia.com> Link: https://lore.kernel.org/r/1670134149-29516-1-git-send-email-zhangchangzhong@huawei.com Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/aeroflex/greth.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aeroflex/greth.c b/drivers/net/ethernet/aeroflex/greth.c
index f4f50b3a472e..0d56cb4f5dd9 100644
--- a/drivers/net/ethernet/aeroflex/greth.c
+++ b/drivers/net/ethernet/aeroflex/greth.c
@@ -258,6 +258,7 @@ static int greth_init_rings(struct greth_private *greth)
if (dma_mapping_error(greth->dev, dma_addr)) {
if (netif_msg_ifup(greth))
dev_err(greth->dev, "Could not create initial DMA mapping\n");
+ dev_kfree_skb(skb);
goto cleanup;
}
greth->rx_skbuff[i] = skb;