Commit 23cdcc01 authored by Stefan Wahren's avatar Stefan Wahren Committed by Greg Kroah-Hartman

drivers/perf: arm_pmu: Fix leak in error path

commit 75324684 upstream.

In case of a IRQ type mismatch in of_pmu_irq_cfg() the
device node for interrupt affinity isn't freed. So fix this
issue by calling of_node_put().
Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Fixes: fa8ad788 ("arm: perf: factor arm_pmu core out to drivers")
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 376c711b
...@@ -921,6 +921,7 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu) ...@@ -921,6 +921,7 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
if (i > 0 && spi != using_spi) { if (i > 0 && spi != using_spi) {
pr_err("PPI/SPI IRQ type mismatch for %s!\n", pr_err("PPI/SPI IRQ type mismatch for %s!\n",
dn->name); dn->name);
of_node_put(dn);
kfree(irqs); kfree(irqs);
return -EINVAL; return -EINVAL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment