diff options
author | Qiheng Lin <linqiheng@huawei.com> | 2022-11-29 22:05:44 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-03-11 16:26:34 +0100 |
commit | f00bc6727adf840eb208700ea27cda4f3742629d (patch) | |
tree | 2ec932d5574c5f574c33b30c473ab17bb68dc339 /arch | |
parent | 5f9aedabce3404dd8bb769822fc11317c55fbdc1 (diff) | |
download | linux-stable-f00bc6727adf840eb208700ea27cda4f3742629d.tar.gz linux-stable-f00bc6727adf840eb208700ea27cda4f3742629d.tar.bz2 linux-stable-f00bc6727adf840eb208700ea27cda4f3742629d.zip |
ARM: zynq: Fix refcount leak in zynq_early_slcr_init
[ Upstream commit 9eedb910a3be0005b88c696a8552c0d4c9937cd4 ]
of_find_compatible_node() returns a node pointer with refcount incremented,
we should use of_node_put() on error path.
Add missing of_node_put() to avoid refcount leak.
Fixes: 3329659df030 ("ARM: zynq: Simplify SLCR initialization")
Signed-off-by: Qiheng Lin <linqiheng@huawei.com>
Link: https://lore.kernel.org/r/20221129140544.41293-1-linqiheng@huawei.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-zynq/slcr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-zynq/slcr.c b/arch/arm/mach-zynq/slcr.c index f0292a30e6f6..6b75ef7be3fd 100644 --- a/arch/arm/mach-zynq/slcr.c +++ b/arch/arm/mach-zynq/slcr.c @@ -222,6 +222,7 @@ int __init zynq_early_slcr_init(void) zynq_slcr_regmap = syscon_regmap_lookup_by_compatible("xlnx,zynq-slcr"); if (IS_ERR(zynq_slcr_regmap)) { pr_err("%s: failed to find zynq-slcr\n", __func__); + of_node_put(np); return -ENODEV; } |