[PATCH v1] clk: keystone: sci-clk: use devm_kmemdup_array()

Raag Jadav posted 1 patch 2 weeks, 1 day ago
drivers/clk/keystone/sci-clk.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
[PATCH v1] clk: keystone: sci-clk: use devm_kmemdup_array()
Posted by Raag Jadav 2 weeks, 1 day ago
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
Re: [PATCH v1] clk: keystone: sci-clk: use devm_kmemdup_array()
Posted by Nishanth Menon 2 weeks ago
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
Re: [PATCH v1] clk: keystone: sci-clk: use devm_kmemdup_array()
Posted by Andy Shevchenko 2 weeks, 1 day ago
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
Re: [PATCH v1] clk: keystone: sci-clk: use devm_kmemdup_array()
Posted by Andy Shevchenko 2 weeks, 1 day ago
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
Re: [PATCH v1] clk: keystone: sci-clk: use devm_kmemdup_array()
Posted by Raag Jadav 2 weeks, 1 day ago
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
Re: [PATCH v1] clk: keystone: sci-clk: use devm_kmemdup_array()
Posted by Andy Shevchenko 2 weeks, 1 day ago
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