mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 15:41:52 +02:00
clk: rockchip: Switch to use kmemdup_array()
Let the kememdup_array() take care about multiplication and possible overflows. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20240606161028.2986587-3-andriy.shevchenko@linux.intel.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
parent
5c0e997e57
commit
fc547ab06c
|
|
@ -369,9 +369,8 @@ struct clk *rockchip_clk_register_cpuclk(const char *name,
|
|||
|
||||
if (nrates > 0) {
|
||||
cpuclk->rate_count = nrates;
|
||||
cpuclk->rate_table = kmemdup(rates,
|
||||
sizeof(*rates) * nrates,
|
||||
GFP_KERNEL);
|
||||
cpuclk->rate_table = kmemdup_array(rates, nrates, sizeof(*rates),
|
||||
GFP_KERNEL);
|
||||
if (!cpuclk->rate_table) {
|
||||
ret = -ENOMEM;
|
||||
goto unregister_notifier;
|
||||
|
|
|
|||
|
|
@ -1136,10 +1136,10 @@ struct clk *rockchip_clk_register_pll(struct rockchip_clk_provider *ctx,
|
|||
len++;
|
||||
|
||||
pll->rate_count = len;
|
||||
pll->rate_table = kmemdup(rate_table,
|
||||
pll->rate_count *
|
||||
sizeof(struct rockchip_pll_rate_table),
|
||||
GFP_KERNEL);
|
||||
pll->rate_table = kmemdup_array(rate_table,
|
||||
pll->rate_count,
|
||||
sizeof(*pll->rate_table),
|
||||
GFP_KERNEL);
|
||||
WARN(!pll->rate_table,
|
||||
"%s: could not allocate rate table for %s\n",
|
||||
__func__, name);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user