]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ACPI: property: Fix fwnode refcount leak in acpi_fwnode_graph_parse_endpoint()
authorHaotian Zhang <vulab@iscas.ac.cn>
Tue, 11 Nov 2025 07:50:00 +0000 (15:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:29 +0000 (13:09 +0100)
[ Upstream commit 593ee49222a0d751062fd9a5e4a963ade4ec028a ]

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 <vulab@iscas.ac.cn>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
[ rjw: Changelog edits ]
Link: https://patch.msgid.link/20251111075000.1828-1-vulab@iscas.ac.cn
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/acpi/property.c

index 4205c7fdc4cc9d45cd4e622e2bf6c9ba2b3afc14..7f0fa58b634a3ffb43f9deca3186bef2943240cb 100644 (file)
@@ -1402,6 +1402,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;
 }