From: Shiji Yang Date: Sat, 10 Feb 2024 12:35:46 +0000 (+0800) Subject: ramips: mtk_eth_soc: fix NULL pointer dereference for syncp X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=88d1322fcfb1ce20613d520aa70e3a1ef63e042d;p=openwrt%2Fstaging%2Frobimarko.git ramips: mtk_eth_soc: fix NULL pointer dereference for syncp u64_stats_init() has been unable to handle NULL pointer since 6.1 kernel. This patch fixes kernel oops on mt76x8 and rt305x sub-target. Signed-off-by: Shiji Yang --- diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c index 35a3113804..dda9abee49 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c @@ -1601,6 +1601,7 @@ static int fe_probe(struct platform_device *pdev) goto err_free_dev; } spin_lock_init(&priv->hw_stats->stats_lock); + u64_stats_init(&priv->hw_stats->syncp); } sysclk = devm_clk_get(&pdev->dev, NULL); @@ -1628,7 +1629,6 @@ static int fe_probe(struct platform_device *pdev) priv->tx_ring.tx_ring_size = NUM_DMA_DESC; priv->rx_ring.rx_ring_size = NUM_DMA_DESC; INIT_WORK(&priv->pending_work, fe_pending_work); - u64_stats_init(&priv->hw_stats->syncp); napi_weight = 16; if (priv->flags & FE_FLAG_NAPI_WEIGHT) {