Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Yuan Can and committed by
David S. Miller
bac81f40 1c40cde6

+3 -1
+3 -1
drivers/net/ethernet/davicom/dm9051.c
··· 798 798 } 799 799 800 800 ret = dm9051_stop_mrcmd(db); 801 - if (ret) 801 + if (ret) { 802 + dev_kfree_skb(skb); 802 803 return ret; 804 + } 803 805 804 806 skb->protocol = eth_type_trans(skb, db->ndev); 805 807 if (db->ndev->features & NETIF_F_RXCSUM)