summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu Jian <liujian56@huawei.com>2022-12-03 17:42:40 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-12-14 11:32:03 +0100
commit93aaa4bb72e388f6a4887541fd3d18b84f1b5ddc (patch)
tree401173c84384604b30bc1b0582111bcbadb3dfc6
parent296a50aa8b2982117520713edc1375777a9f8506 (diff)
downloadlinux-93aaa4bb72e388f6a4887541fd3d18b84f1b5ddc.tar.gz
linux-93aaa4bb72e388f6a4887541fd3d18b84f1b5ddc.tar.bz2
linux-93aaa4bb72e388f6a4887541fd3d18b84f1b5ddc.zip
net: hisilicon: Fix potential use-after-free in hix5hd2_rx()
[ Upstream commit 433c07a13f59856e4585e89e86b7d4cc59348fab ] The skb is delivered to napi_gro_receive() which may free it, after calling this, dereferencing skb may trigger use-after-free. Fixes: 57c5bc9ad7d7 ("net: hisilicon: add hix5hd2 mac driver") Signed-off-by: Liu Jian <liujian56@huawei.com> Link: https://lore.kernel.org/r/20221203094240.1240211-2-liujian56@huawei.com Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/net/ethernet/hisilicon/hix5hd2_gmac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c b/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
index 8b2bf85039f1..43f3146caf07 100644
--- a/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
+++ b/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
@@ -550,7 +550,7 @@ static int hix5hd2_rx(struct net_device *dev, int limit)
skb->protocol = eth_type_trans(skb, dev);
napi_gro_receive(&priv->napi, skb);
dev->stats.rx_packets++;
- dev->stats.rx_bytes += skb->len;
+ dev->stats.rx_bytes += len;
next:
pos = dma_ring_incr(pos, RX_DESC_NUM);
}