diff options
author | Yuan Can <yuancan@huawei.com> | 2022-11-21 03:32:26 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-11-23 12:43:14 +0000 |
commit | bac81f40c2c1484a2bd416b3fbf983f6e76488cd (patch) | |
tree | a0cb27d0a90f678db1b1582024babe5be0d03b5f /drivers/net/ethernet/davicom | |
parent | 1c40cde6b5171d9c8dfc69be00464fd1c75e210b (diff) | |
download | lwn-bac81f40c2c1484a2bd416b3fbf983f6e76488cd.tar.gz lwn-bac81f40c2c1484a2bd416b3fbf983f6e76488cd.zip |
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>
Diffstat (limited to 'drivers/net/ethernet/davicom')
-rw-r--r-- | drivers/net/ethernet/davicom/dm9051.c | 4 |
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) |