Просмотр исходного кода

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 <[email protected]>
Shiji Yang 1 год назад
Родитель
Сommit
88d1322fcf

+ 1 - 1
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) {