lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Sun,  9 Jun 2024 12:41:24 +0000
From: Abhinav Jain <jain.abhinav177@...il.com>
To: keescook@...omium.org,
	tony.luck@...el.com,
	gpiccoli@...lia.com,
	linux-hardening@...r.kernel.org,
	linux-kernel@...r.kernel.org
Cc: skhan@...uxfoundation.org,
	javier.carrasco.cruz@...il.com,
	jain.abhinav177@...il.com,
	julia.lawall@...ia.fr
Subject: [PATCH v3] pstore/ram: Replace of_node_put with __free() for automatic cleanup

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@...ia.fr>
Signed-off-by: Abhinav Jain <jain.abhinav177@...il.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(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index b1a455f42e93..f8258e4567c3 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -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;
 }
-- 
2.34.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ