[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <aTgetqy8BGerPGTl@stanley.mountain>
Date: Tue, 9 Dec 2025 16:05:58 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: linux-hardening@...r.kernel.org,
Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@...l.toshiba>,
llvm@...ts.linux.dev
Subject: [bug report] clk: visconti: Add support common clock driver and
reset driver
Hello Kernel Hardenning developers,
Commit b4cbe606dc36 ("clk: visconti: Add support common clock driver
and reset driver") from Oct 25, 2021 (linux-next), leads to the
question:
drivers/clk/visconti/clkc.c
187 struct visconti_clk_provider *visconti_init_clk(struct device *dev,
188 struct regmap *regmap,
189 unsigned long nr_clks)
190 {
191 struct visconti_clk_provider *ctx;
192 int i;
193
194 ctx = devm_kzalloc(dev, struct_size(ctx, clk_data.hws, nr_clks), GFP_KERNEL);
195 if (!ctx)
196 return ERR_PTR(-ENOMEM);
197
198 for (i = 0; i < nr_clks; ++i)
--> 199 ctx->clk_data.hws[i] = ERR_PTR(-ENOENT);
200 ctx->clk_data.num = nr_clks;
ctx->clk_data.hws[] is __counted_by() ctx->clk_data.num. Don't we have to
set the .num before we fill initialize the array? Or does the checker
code allow us to access the array when the counted by variable is zero?
I seem to remember this used to be a common false positive with the counted
by checking.
201
202 ctx->dev = dev;
203 ctx->regmap = regmap;
204
205 return ctx;
206 }
regards,
dan carpenter
Powered by blists - more mailing lists