Skip to content

Commit fc547ab

Browse files
andy-shevmmind
authored andcommitted
clk: rockchip: Switch to use kmemdup_array()
Let the kememdup_array() take care about multiplication and possible overflows. Signed-off-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Heiko Stuebner <[email protected]>
1 parent 5c0e997 commit fc547ab

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

drivers/clk/rockchip/clk-cpu.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -369,9 +369,8 @@ struct clk *rockchip_clk_register_cpuclk(const char *name,
369369

370370
if (nrates > 0) {
371371
cpuclk->rate_count = nrates;
372-
cpuclk->rate_table = kmemdup(rates,
373-
sizeof(*rates) * nrates,
374-
GFP_KERNEL);
372+
cpuclk->rate_table = kmemdup_array(rates, nrates, sizeof(*rates),
373+
GFP_KERNEL);
375374
if (!cpuclk->rate_table) {
376375
ret = -ENOMEM;
377376
goto unregister_notifier;

drivers/clk/rockchip/clk-pll.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,10 +1136,10 @@ struct clk *rockchip_clk_register_pll(struct rockchip_clk_provider *ctx,
11361136
len++;
11371137

11381138
pll->rate_count = len;
1139-
pll->rate_table = kmemdup(rate_table,
1140-
pll->rate_count *
1141-
sizeof(struct rockchip_pll_rate_table),
1142-
GFP_KERNEL);
1139+
pll->rate_table = kmemdup_array(rate_table,
1140+
pll->rate_count,
1141+
sizeof(*pll->rate_table),
1142+
GFP_KERNEL);
11431143
WARN(!pll->rate_table,
11441144
"%s: could not allocate rate table for %s\n",
11451145
__func__, name);

0 commit comments

Comments
 (0)