2024-06-05 21:50:01

by Abhinav Jain

[permalink] [raw]
Subject: [PATCH v2] pstore/ram: Replace of_node_put with __free() for automatic cleanup

Add __free(device_node) to the parent_node struct declaration
Add changes to incorporate the review comments from v1

Signed-off-by: Abhinav Jain <[email protected]>

PATCH v1 link:
https://lore.kernel.org/all/[email protected]/

Changes since v1:
- Moved the variable definition back to the top of the function body
---
fs/pstore/ram.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 14f2f4864e48..f8258e4567c3 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -644,6 +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 __free(device_node) = of_node_parent(of_node);
struct resource *res;
u32 value;
int ret;
@@ -703,7 +704,6 @@ static int ramoops_parse_dt(struct platform_device *pdev,
* we're not a child of "reserved-memory" and mimicking the
* expected behavior.
*/
- struct device_node *parent_node __free(device_node) = of_node_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) {
--
2.34.1



2024-06-06 16:30:41

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH v2] pstore/ram: Replace of_node_put with __free() for automatic cleanup

On Wed, Jun 05, 2024 at 09:49:44PM +0000, Abhinav Jain wrote:
> Add __free(device_node) to the parent_node struct declaration
> Add changes to incorporate the review comments from v1
>
> Signed-off-by: Abhinav Jain <[email protected]>
>
> PATCH v1 link:
> https://lore.kernel.org/all/[email protected]/
>
> Changes since v1:
> - Moved the variable definition back to the top of the function body

The history and version links should be below the "---" line.

But more importantly, please base your patch on the upstream tree,
rather than on your v1 patch. :) (i.e. squash your v1 and v2 together).

-Kees

> ---
> fs/pstore/ram.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
> index 14f2f4864e48..f8258e4567c3 100644
> --- a/fs/pstore/ram.c
> +++ b/fs/pstore/ram.c
> @@ -644,6 +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 __free(device_node) = of_node_parent(of_node);
> struct resource *res;
> u32 value;
> int ret;
> @@ -703,7 +704,6 @@ static int ramoops_parse_dt(struct platform_device *pdev,
> * we're not a child of "reserved-memory" and mimicking the
> * expected behavior.
> */
> - struct device_node *parent_node __free(device_node) = of_node_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) {
> --
> 2.34.1
>

--
Kees Cook

2024-06-09 12:44:06

by Abhinav Jain

[permalink] [raw]
Subject: Re: [PATCH v2] pstore/ram: Replace of_node_put with __free() for automatic cleanup

On Wed, Jun 05, 2024 at 09:49:44PM, Kees Cook wrote:
> The history and version links should be below the "---" line.

I have made the change.

>
> But more importantly, please base your patch on the upstream tree,
> rather than on your v1 patch. :) (i.e. squash your v1 and v2 together).

I have squashed the two commits and shared v3 of the patch here:
https://lore.kernel.org/all/[email protected]/
>
> -Kees

--
Abhinav