Re: [PATCH] cpufreq: ti: Implement scope-based cleanup in ti_cpufreq_match_node()
From: Julia Lawall
Date: Tue Apr 23 2024 - 03:11:41 EST
On Tue, 23 Apr 2024, Shivani Gupta wrote:
> This patch modifies the ti_cpufreq_match_node() function to utilize the
> __free() cleanup handler for automatically releasing the device
> node when it goes out of scope.
>
> By moving the declaration to the initialization, the patch ensures that
> the device node is properly managed throughout the function's scope,
> thus eliminating the need for manual invocation of of_node_put().
> This approach reduces the potential for memory leaks.
The code is fine. The log message is a bit verbose. Try to avoid
referring to the patch. It's obvious that you are talking about the
patch. Try to favor the imperative, so "Modify..." instead of "This patch
modifies".
julia
>
> Suggested-by: Julia Lawall <julia.lawall@xxxxxxxx>
> Signed-off-by: Shivani Gupta <shivani07g@xxxxxxxxx>
> ---
> drivers/cpufreq/ti-cpufreq.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/cpufreq/ti-cpufreq.c b/drivers/cpufreq/ti-cpufreq.c
> index 46c41e2ca727..714ed53753fa 100644
> --- a/drivers/cpufreq/ti-cpufreq.c
> +++ b/drivers/cpufreq/ti-cpufreq.c
> @@ -347,12 +347,10 @@ static const struct of_device_id ti_cpufreq_of_match[] = {
>
> static const struct of_device_id *ti_cpufreq_match_node(void)
> {
> - struct device_node *np;
> + struct device_node *np __free(device_node) = of_find_node_by_path("/");
> const struct of_device_id *match;
>
> - np = of_find_node_by_path("/");
> match = of_match_node(ti_cpufreq_of_match, np);
> - of_node_put(np);
>
> return match;
> }
> --
> 2.34.1
>
>