summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaoyu Li <lihaoyu499@gmail.com>2024-12-03 22:29:15 +0800
committerStephen Boyd <sboyd@kernel.org>2024-12-03 14:54:12 -0800
commit52fd1709e41d3a85b48bcfe2404a024ebaf30c3b (patch)
tree96600eebe3dd690c1de3a3be24cb7e0efa7aef29
parent2eb75f86d52565367211c51334d15fe672633085 (diff)
downloadlwn-52fd1709e41d3a85b48bcfe2404a024ebaf30c3b.tar.gz
lwn-52fd1709e41d3a85b48bcfe2404a024ebaf30c3b.zip
clk: en7523: Initialize num before accessing hws in en7523_register_clocks()
With the new __counted_by annotation in clk_hw_onecell_data, the "num" struct member must be set before accessing the "hws" array. Failing to do so will trigger a runtime warning when enabling CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE. Fixes: f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") Signed-off-by: Haoyu Li <lihaoyu499@gmail.com> Link: https://lore.kernel.org/r/20241203142915.345523-1-lihaoyu499@gmail.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
-rw-r--r--drivers/clk/clk-en7523.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/clk/clk-en7523.c b/drivers/clk/clk-en7523.c
index 239cb04d9ae3..495c0d607c7d 100644
--- a/drivers/clk/clk-en7523.c
+++ b/drivers/clk/clk-en7523.c
@@ -504,6 +504,8 @@ static void en7523_register_clocks(struct device *dev, struct clk_hw_onecell_dat
u32 rate;
int i;
+ clk_data->num = EN7523_NUM_CLOCKS;
+
for (i = 0; i < ARRAY_SIZE(en7523_base_clks); i++) {
const struct en_clk_desc *desc = &en7523_base_clks[i];
u32 reg = desc->div_reg ? desc->div_reg : desc->base_reg;
@@ -525,8 +527,6 @@ static void en7523_register_clocks(struct device *dev, struct clk_hw_onecell_dat
hw = en7523_register_pcie_clk(dev, np_base);
clk_data->hws[EN7523_CLK_PCIE] = hw;
-
- clk_data->num = EN7523_NUM_CLOCKS;
}
static int en7523_clk_hw_init(struct platform_device *pdev,