Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: mediatek: clk-mt7629-eth: Add check for mtk_alloc_clk_data

Add the check for the return value of mtk_alloc_clk_data() in order to
avoid NULL pointer dereference.

Fixes: 3b5e748615e7 ("clk: mediatek: add clock support for MT7629 SoC")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20230912093407.21505-4-jiasheng@iscas.ac.cn
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Jiasheng Jiang and committed by
Stephen Boyd
0884393c 606f6366

+4
+4
drivers/clk/mediatek/clk-mt7629-eth.c
··· 77 77 int r; 78 78 79 79 clk_data = mtk_alloc_clk_data(CLK_ETH_NR_CLK); 80 + if (!clk_data) 81 + return -ENOMEM; 80 82 81 83 mtk_clk_register_gates(&pdev->dev, node, eth_clks, 82 84 CLK_ETH_NR_CLK, clk_data); ··· 102 100 int r; 103 101 104 102 clk_data = mtk_alloc_clk_data(CLK_SGMII_NR_CLK); 103 + if (!clk_data) 104 + return -ENOMEM; 105 105 106 106 mtk_clk_register_gates(&pdev->dev, node, sgmii_clks[id++], 107 107 CLK_SGMII_NR_CLK, clk_data);