From: Liu Jian Date: Sat, 3 Dec 2022 09:42:40 +0000 (+0800) Subject: net: hisilicon: Fix potential use-after-free in hix5hd2_rx() X-Git-Tag: Proxmox-5.15.83-1~21 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=c9fc162628ebf488219ca94210ee835f2b5a5577;p=mirror_ubuntu-jammy-kernel.git 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 Link: https://lore.kernel.org/r/20221203094240.1240211-2-liujian56@huawei.com Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin (cherry picked from commit b8ce0e6f9f88a6bb49d291498377e61ea27a5387) Signed-off-by: Thomas Lamprecht --- diff --git a/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c b/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c index c1aae0fca5e9..0a70fb979f0c 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); }