]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
of: resolver: Fix device node refcount leakage in of_resolve_phandles()
authorZijun Hu <quic_zijuhu@quicinc.com>
Mon, 24 Feb 2025 23:01:55 +0000 (17:01 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 May 2025 05:50:41 +0000 (07:50 +0200)
commit81435b85b2ebc7f5df404290e709e69f35749493
treeaec8c8966f26a40d784015291db5b0dddedc164f
parentf549a4d2e0293a7220fb86c413cb86d0c5595455
of: resolver: Fix device node refcount leakage in of_resolve_phandles()

[ Upstream commit a46a0805635d07de50c2ac71588345323c13b2f9 ]

In of_resolve_phandles(), refcount of device node @local_fixups will be
increased if the for_each_child_of_node() exits early, but nowhere to
decrease the refcount, so cause refcount leakage for the node.

Fix by using __free() on @local_fixups.

Fixes: da56d04c806a ("of/resolver: Switch to new local fixups format.")
Cc: stable@vger.kernel.org
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Link: https://lore.kernel.org/r/20250209-of_irq_fix-v2-9-93e3a2659aa7@quicinc.com
[robh: Use __free() instead]
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/of/resolver.c