drivers/clk/keystone/sci-clk.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
Convert to use devm_kmemdup_array() which is more robust.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/clk/keystone/sci-clk.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/clk/keystone/sci-clk.c b/drivers/clk/keystone/sci-clk.c
index c5894fc9395e..a4b42811de55 100644
--- a/drivers/clk/keystone/sci-clk.c
+++ b/drivers/clk/keystone/sci-clk.c
@@ -480,13 +480,10 @@ static int ti_sci_scan_clocks_from_fw(struct sci_clk_provider *provider)
num_clks++;
}
- provider->clocks = devm_kmalloc_array(dev, num_clks, sizeof(sci_clk),
- GFP_KERNEL);
+ provider->clocks = devm_kmemdup_array(dev, clks, num_clks, sizeof(sci_clk), GFP_KERNEL);
if (!provider->clocks)
return -ENOMEM;
- memcpy(provider->clocks, clks, num_clks * sizeof(sci_clk));
-
provider->num_clocks = num_clks;
devm_kfree(dev, clks);
--
2.34.1
On 18:15-20250916, Raag Jadav wrote: > Convert to use devm_kmemdup_array() which is more robust. > > Signed-off-by: Raag Jadav <raag.jadav@intel.com> > --- > drivers/clk/keystone/sci-clk.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/clk/keystone/sci-clk.c b/drivers/clk/keystone/sci-clk.c > index c5894fc9395e..a4b42811de55 100644 > --- a/drivers/clk/keystone/sci-clk.c > +++ b/drivers/clk/keystone/sci-clk.c > @@ -480,13 +480,10 @@ static int ti_sci_scan_clocks_from_fw(struct sci_clk_provider *provider) > num_clks++; > } > > - provider->clocks = devm_kmalloc_array(dev, num_clks, sizeof(sci_clk), > - GFP_KERNEL); > + provider->clocks = devm_kmemdup_array(dev, clks, num_clks, sizeof(sci_clk), GFP_KERNEL); > if (!provider->clocks) > return -ENOMEM; > > - memcpy(provider->clocks, clks, num_clks * sizeof(sci_clk)); > - > provider->num_clocks = num_clks; > > devm_kfree(dev, clks); > -- > 2.34.1 > Reviewed-by: Nishanth Menon <nm@ti.com> Also ran a basic boot tests on K3 devices i have access to.. so all good. -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D https://ti.com/opensource
On Tue, Sep 16, 2025 at 06:15:18PM +0530, Raag Jadav wrote: > Convert to use devm_kmemdup_array() which is more robust. FWIW, Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> -- With Best Regards, Andy Shevchenko
On Tue, Sep 16, 2025 at 03:52:35PM +0300, Andy Shevchenko wrote: > On Tue, Sep 16, 2025 at 06:15:18PM +0530, Raag Jadav wrote: > > Convert to use devm_kmemdup_array() which is more robust. > > FWIW, > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> However, you might also want to use sizeof(*clks) IIUC. -- With Best Regards, Andy Shevchenko
On Tue, Sep 16, 2025 at 03:53:46PM +0300, Andy Shevchenko wrote: > On Tue, Sep 16, 2025 at 03:52:35PM +0300, Andy Shevchenko wrote: > > On Tue, Sep 16, 2025 at 06:15:18PM +0530, Raag Jadav wrote: > > > Convert to use devm_kmemdup_array() which is more robust. > > > > FWIW, > > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Thank you. > However, you might also want to use sizeof(*clks) IIUC. It's a double pointer and could lead to misinterpretation. Raag
On Tue, Sep 16, 2025 at 03:18:16PM +0200, Raag Jadav wrote: > On Tue, Sep 16, 2025 at 03:53:46PM +0300, Andy Shevchenko wrote: > > On Tue, Sep 16, 2025 at 03:52:35PM +0300, Andy Shevchenko wrote: ... > > However, you might also want to use sizeof(*clks) IIUC. > > It's a double pointer and could lead to misinterpretation. Fair enough! -- With Best Regards, Andy Shevchenko
© 2016 - 2025 Red Hat, Inc.