@@ -644,7 +644,7 @@ 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 device_node *parent_node __free(device_node) = of_node_parent(of_node);
struct resource *res;
u32 value;
int ret;
@@ -704,14 +704,12 @@ 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);
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);
return 0;
}
Add __free(device_node) to the parent_node struct declaration. Add initialization to declaration for ensuring scope sanity. Remove of_node_put from parent_node struct. Suggested-by: Julia Lawall <julia.lawall@inria.fr> Signed-off-by: Abhinav Jain <jain.abhinav177@gmail.com> --- Submiting v3 after making Changes as per feedback shared in v1 and v2. Patch v1: https://lore.kernel.org/all/20240415161409.8375-1-jain.abhinav177@gmail.com/ Patch v2: https://lore.kernel.org/all/20240605214944.22113-1-jain.abhinav177@gmail.com/ --- fs/pstore/ram.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)