Commit 63fb0a95 authored by Stefan Wahren's avatar Stefan Wahren Committed by Catalin Marinas

drivers/perf: arm_pmu: Fix NULL pointer dereference during probe

Patch 7f1d642f ("drivers/perf: arm-pmu: Fix handling of SPI lacking
interrupt-affinity property") unintended also fixes perf_event support
for bcm2835 which doesn't have PMU interrupts. Unfortunately this change
introduce a NULL pointer dereference on bcm2835, because irq_is_percpu
always expected to be called with a valid IRQ. So fix this regression
by validating the IRQ before.
Tested-by: default avatarKevin Hilman <khilman@baylibre.com>
Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Fixes: 7f1d642f ("drivers/perf: arm-pmu: Fix handling of SPI lacking "interrupt-affinity" property")
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 75324684
...@@ -970,7 +970,7 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu) ...@@ -970,7 +970,7 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
if (cpumask_weight(&pmu->supported_cpus) == 0) { if (cpumask_weight(&pmu->supported_cpus) == 0) {
int irq = platform_get_irq(pdev, 0); int irq = platform_get_irq(pdev, 0);
if (irq_is_percpu(irq)) { if (irq >= 0 && irq_is_percpu(irq)) {
/* If using PPIs, check the affinity of the partition */ /* If using PPIs, check the affinity of the partition */
int ret; int ret;
......
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