aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Changzhong <[email protected]>2022-11-17 15:50:09 +0800
committerPaolo Abeni <[email protected]>2022-11-22 11:28:16 +0100
commitaad98abd5cb8133507f22654f56bcb443aaa2d89 (patch)
treee9e4697a46b3ed4fda0fa8fa6d60fd748f369ac3
parente541dd7763fc34aec2f93f652a396cc2e7b92d8d (diff)
sfc: fix potential memleak in __ef100_hard_start_xmit()
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 <[email protected]> Acked-by: Martin Habets <[email protected]> Reviewed-by: Leon Romanovsky <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Paolo Abeni <[email protected]>
-rw-r--r--drivers/net/ethernet/sfc/ef100_netdev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/ef100_netdev.c b/drivers/net/ethernet/sfc/ef100_netdev.c
index 88fa29572e23..ddcc325ed570 100644
--- a/drivers/net/ethernet/sfc/ef100_netdev.c
+++ b/drivers/net/ethernet/sfc/ef100_netdev.c
@@ -218,6 +218,7 @@ 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;
}