Quoting Binbin Zhou (2025-01-14 05:00:29)
Since commit 02fb4f008433 ("clk: clk-loongson2: Fix potential buffer overflow in flexible-array member access"), the clk provider register is failed.
The count of `clks_num` is shown below:
for (p = data; p->name; p++) clks_num++;
In fact, `clks_num` represents the number of SoC clocks and should be expressed as the maximum value of the clock binding id in use (p->id + 1).
Now we fix it to avoid the following error when trying to register a clk provider:
[ 13.409595] of_clk_hw_onecell_get: invalid index 17
Cc: stable@vger.kernel.org Cc: Gustavo A. R. Silva gustavoars@kernel.org Fixes: 02fb4f008433 ("clk: clk-loongson2: Fix potential buffer overflow in flexible-array member access") Signed-off-by: Binbin Zhou zhoubinbin@loongson.cn
Applied to clk-fixes