From: Haotian Zhang Date: Tue, 11 Nov 2025 07:50:00 +0000 (+0800) Subject: ACPI: property: Fix fwnode refcount leak in acpi_fwnode_graph_parse_endpoint() X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=593ee49222a0d751062fd9a5e4a963ade4ec028a;p=thirdparty%2Flinux.git ACPI: property: Fix fwnode refcount leak in acpi_fwnode_graph_parse_endpoint() acpi_fwnode_graph_parse_endpoint() calls fwnode_get_parent() to obtain the parent fwnode but returns without calling fwnode_handle_put() on it. This potentially leads to a fwnode refcount leak and prevents the parent node from being released properly. Call fwnode_handle_put() on the parent fwnode before returning to prevent the leak from occurring. Fixes: 3b27d00e7b6d ("device property: Move fwnode graph ops to firmware specific locations") Signed-off-by: Haotian Zhang Reviewed-by: Sakari Ailus [ rjw: Changelog edits ] Link: https://patch.msgid.link/20251111075000.1828-1-vulab@iscas.ac.cn Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c index 73171d277ab62..57a9c18ec6732 100644 --- a/drivers/acpi/property.c +++ b/drivers/acpi/property.c @@ -1718,6 +1718,7 @@ static int acpi_fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode, if (fwnode_property_read_u32(fwnode, "reg", &endpoint->id)) fwnode_property_read_u32(fwnode, "endpoint", &endpoint->id); + fwnode_handle_put(port_fwnode); return 0; }