]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
clk: clk-loongson2: Fix the number count of clk provider
authorBinbin Zhou <zhoubinbin@loongson.cn>
Tue, 14 Jan 2025 13:00:29 +0000 (21:00 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Feb 2025 09:05:10 +0000 (10:05 +0100)
commitea3f6ef7720bf3e3b9433ea299a9bb8944221df0
tree1b9962a95b2bd57e02b6583a3d2ca9288ef4fcc2
parent15413c1a65513fbc52502ff714d31b416e6cdeed
clk: clk-loongson2: Fix the number count of clk provider

commit 5fb33b6797633ce60908d13dc06c54a101621845 upstream.

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>
Link: https://lore.kernel.org/r/82e43d89a9a6791129cf8ea14f4eeb666cd87be4.1736856470.git.zhoubinbin@loongson.cn
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/clk/clk-loongson2.c