diff options
| author | Weigang He <geoffreyhe2@gmail.com> | 2026-09-26 03:32:51 +1000 |
|---|---|---|
| committer | Sudeep Holla <sudeep.holla@kernel.org> | 2026-10-01 09:37:40 +0100 |
| commit | 62b9ae8ae4a7f0b93efa1efa230782b37057b1e7 (patch) | |
| tree | c9f9e0288f6820e44a4e2a09753b456e1aca51db /tools/perf/scripts/python/stackcollapse.py | |
| parent | cee9395acd8043be0644b25c34bfa86623f2b935 (diff) | |
ARM: vexpress: fix device_node refcount leak in vexpress_flags_set()
vexpress_flags_set() obtains a reference to the "arm,vexpress-sysreg"
device node via of_find_compatible_node() and passes it to of_iomap(),
but never calls of_node_put() on it. of_iomap() only reads the node's
reg property to create the mapping and does not take ownership, so the
node reference is leaked. The function runs from the __init SMP prepare
path and caches the mapping in a static, so this is a one-shot leak of a
single refcount during boot, with no functional impact.
The lookup was added to drivers/mfd/vexpress-sysreg.c by the commit
below and later moved here by commit 9b06fc39084e ("ARM: vexpress: Move
vexpress_flags_set() into arch code").
Annotate node with the __free(device_node) cleanup attribute so the
reference is released when it goes out of scope.
Found by static analysis tool CodeQL.
Fixes: 974cc7b93441 ("mfd: vexpress: Define the device as MFD cells")
Assisted-by: LLM codeql
Signed-off-by: Weigang He <geoffreyhe2@gmail.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patch.msgid.link/20260925173252.933705-2-geoffreyhe2@gmail.com
Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
