Skip to contentSkip to conversation

bus: arm-cci: Drop CPU node reference in cci_ace_init_ports()

PATCH Applied Yuho Choi 2 participants 2 messages Sep 23 – Oct 13

lore
Share & tools
lore

Yuho Choi

author
#0 lore raw

PATCH 1/1 bus: arm-cci: Drop CPU node reference in cci_ace_init_ports()

cci_ace_init_ports() looks up each possible CPU's node with of_get_cpu_node(), which returns the node with its reference count raised, but never releases it: neither when the CPU has no ACE port nor after the port has been recorded. Before the commit below the loop used for_each_child_of_node(), which manages the references itself.

The node is only needed for the port lookup, so drop the reference right after __cci_ace_get_port().

Fixes 78b4d6e0fd26 ("drivers/bus: arm-cci: avoid parsing DT for cpu device nodes")

---
Found by code review; compile-tested only (multi_v7_defconfig, W=1).

 drivers/bus/arm-cci.c | 1 +
 1 file changed, 1 insertion(+)
drivers/bus/arm-cci.c +1 -0
index 7f2baf0571286..076ac8e06bd01 100644
@@ -199,6 +199,7 @@ static void cci_ace_init_ports(void)
 			continue;
 
 		port = __cci_ace_get_port(cpun, ACE_PORT);
+		of_node_put(cpun);
 		if (port < 0)
 			continue;
 

base-commit: f0100363d8c374bd8e9ea7c9ba02744f0b802ca4

Signature · 1 line
2.43.0
#1 lore raw
This patch was applied to soc/soc.git (for-next) by Arnd Bergmann <[email protected]>:

Hello:

This patch was applied to soc/soc.git (for-next)
by Arnd Bergmann <[email protected]>:

Quoted 10 lines · On Wed, 23 Sep 2026 12:35:15 -0400 you wrote:

cci_ace_init_ports() looks up each possible CPU's node with of_get_cpu_node(), which returns the node with its reference count raised, but never releases it: neither when the CPU has no ACE port nor after the port has been recorded. Before the commit below the loop used for_each_child_of_node(), which manages the references itself.

The node is only needed for the port lookup, so drop the reference right after __cci_ace_get_port().

[...]

Here is the summary with links:
- [v1] bus: arm-cci: Drop CPU node reference in cci_ace_init_ports()

    https://git.kernel.org/soc/soc/c/41d6c0fcd4d7

You are awesome, thank you!

Signature · 2 lines
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html