summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuan Can <yuancan@huawei.com>2022-11-21 03:32:26 +0000
committerDavid S. Miller <davem@davemloft.net>2022-11-23 12:43:14 +0000
commitbac81f40c2c1484a2bd416b3fbf983f6e76488cd (patch)
treea0cb27d0a90f678db1b1582024babe5be0d03b5f
parent1c40cde6b5171d9c8dfc69be00464fd1c75e210b (diff)
net: dm9051: Fix missing dev_kfree_skb() in dm9051_loop_rx()
The dm9051_loop_rx() returns without release skb when dm9051_stop_mrcmd() returns error, free the skb to avoid this leak. Fixes: 2dc95a4d30ed ("net: Add dm9051 driver") Signed-off-by: Yuan Can <yuancan@huawei.com> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/davicom/dm9051.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/davicom/dm9051.c b/drivers/net/ethernet/davicom/dm9051.c
index a523ddda7609..de7105a84747 100644
--- a/drivers/net/ethernet/davicom/dm9051.c
+++ b/drivers/net/ethernet/davicom/dm9051.c
@@ -798,8 +798,10 @@ static int dm9051_loop_rx(struct board_info *db)
}
ret = dm9051_stop_mrcmd(db);
- if (ret)
+ if (ret) {
+ dev_kfree_skb(skb);
return ret;
+ }
skb->protocol = eth_type_trans(skb, db->ndev);
if (db->ndev->features & NETIF_F_RXCSUM)