net: hisilicon: Fix potential use-after-free in hisi_femac_rx()
[ Upstream commit 4640177049549de1a43e9bc49265f0cdfce08cfd ]
The skb is delivered to napi_gro_receive() which may free it, after
calling this, dereferencing skb may trigger use-after-free.
Fixes: 542ae60af2
("net: hisilicon: Add Fast Ethernet MAC driver")
Signed-off-by: Liu Jian <liujian56@huawei.com>
Link: https://lore.kernel.org/r/20221203094240.1240211-1-liujian56@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
8d1aed7a11
commit
296a50aa8b
@@ -283,7 +283,7 @@ static int hisi_femac_rx(struct net_device *dev, int limit)
|
|||||||
skb->protocol = eth_type_trans(skb, dev);
|
skb->protocol = eth_type_trans(skb, dev);
|
||||||
napi_gro_receive(&priv->napi, skb);
|
napi_gro_receive(&priv->napi, skb);
|
||||||
dev->stats.rx_packets++;
|
dev->stats.rx_packets++;
|
||||||
dev->stats.rx_bytes += skb->len;
|
dev->stats.rx_bytes += len;
|
||||||
next:
|
next:
|
||||||
pos = (pos + 1) % rxq->num;
|
pos = (pos + 1) % rxq->num;
|
||||||
if (rx_pkts_num >= limit)
|
if (rx_pkts_num >= limit)
|
||||||
|
Reference in New Issue
Block a user