sfc: fix potential memleak in __ef100_hard_start_xmit()
authorZhang Changzhong <zhangchangzhong@huawei.com>
Thu, 17 Nov 2022 07:50:09 +0000 (15:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Dec 2022 16:41:06 +0000 (17:41 +0100)
[ Upstream commit aad98abd5cb8133507f22654f56bcb443aaa2d89 ]

The __ef100_hard_start_xmit() returns NETDEV_TX_OK without freeing skb
in error handling case, add dev_kfree_skb_any() to fix it.

Fixes: 51b35a454efd ("sfc: skeleton EF100 PF driver")
Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
Acked-by: Martin Habets <habetsm.xilinx@gmail.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Link: https://lore.kernel.org/r/1668671409-10909-1-git-send-email-zhangchangzhong@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/sfc/ef100_netdev.c

index 67fe44db6b6124438291cf20b2f828d8d559035c..63a44ee763be7994e5a477cdcfd29fc9928c2b1c 100644 (file)
@@ -200,6 +200,7 @@ static netdev_tx_t ef100_hard_start_xmit(struct sk_buff *skb,
                   skb->len, skb->data_len, channel->channel);
        if (!efx->n_channels || !efx->n_tx_channels || !channel) {
                netif_stop_queue(net_dev);
+               dev_kfree_skb_any(skb);
                goto err;
        }