On Mon, Apr 15, 2024 at 04:14:09PM +0000, Abhinav Jain wrote:
> Add __free(device_node) to the parent_node struct declaration.
> Move declaration to initialization for ensuring scope sanity.
> Remove of_node_put from parent_node struct.
> 
> Suggested-by: Julia Lawall <julia.law...@inria.fr>
> Signed-off-by: Abhinav Jain <jain.abhinav...@gmail.com>
> ---
>  fs/pstore/ram.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
> index b1a455f42e93..14f2f4864e48 100644
> --- a/fs/pstore/ram.c
> +++ b/fs/pstore/ram.c
> @@ -644,7 +644,6 @@ static int ramoops_parse_dt(struct platform_device *pdev,
>                           struct ramoops_platform_data *pdata)
>  {
>       struct device_node *of_node = pdev->dev.of_node;
> -     struct device_node *parent_node;
>       struct resource *res;
>       u32 value;
>       int ret;
> @@ -704,14 +703,13 @@ static int ramoops_parse_dt(struct platform_device 
> *pdev,
>        * we're not a child of "reserved-memory" and mimicking the
>        * expected behavior.
>        */
> -     parent_node = of_get_parent(of_node);
> +     struct device_node *parent_node __free(device_node) = 
> of_node_parent(of_node);

Please don't move variable definitions into the middle of the function
body. :)

>       if (!of_node_name_eq(parent_node, "reserved-memory") &&
>           !pdata->console_size && !pdata->ftrace_size &&
>           !pdata->pmsg_size && !pdata->ecc_info.ecc_size) {
>               pdata->console_size = pdata->record_size;
>               pdata->pmsg_size = pdata->record_size;
>       }
> -     of_node_put(parent_node);

So this change is functionally fine, but there's really no good reason
to do this -- there is no fancy error handling here, so there's no
benefit to making this change. It doesn't really help readability.

-Kees

>  
>       return 0;
>  }
> -- 
> 2.34.1
> 

-- 
Kees Cook

Reply via email to