drivers/perf: arm_pmu: avoid CPU device_node reference leak
of_cpu_device_node_get increments the reference count on the CPU device_node, so we must take care to of_node_put once we've finished with it. This patch fixes the perf IRQ probing code to avoid the leak. Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
a0bcbe969f
commit
fb659882cc
@ -823,9 +823,15 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Now look up the logical CPU number */
|
/* Now look up the logical CPU number */
|
||||||
for_each_possible_cpu(cpu)
|
for_each_possible_cpu(cpu) {
|
||||||
if (dn == of_cpu_device_node_get(cpu))
|
struct device_node *cpu_dn;
|
||||||
|
|
||||||
|
cpu_dn = of_cpu_device_node_get(cpu);
|
||||||
|
of_node_put(cpu_dn);
|
||||||
|
|
||||||
|
if (dn == cpu_dn)
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (cpu >= nr_cpu_ids) {
|
if (cpu >= nr_cpu_ids) {
|
||||||
pr_warn("Failed to find logical CPU for %s\n",
|
pr_warn("Failed to find logical CPU for %s\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user