Skip to contentSkip to conversation

Patch "arm64: perf: fix unassigned cpu_pmu->plat_device when probing PMU PPIs" has been added to the 4.1-stable tree

PATCH [email protected] 1 participant 1 message Sep 11, 2015

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

    arm64: perf: fix unassigned cpu_pmu->plat_device when probing PMU PPIs

to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
arm64-perf-fix-unassigned-cpu_pmu-plat_device-when-probing-pmu-ppis.patch
and it can be found in the queue-4.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From b265da5a45ce60bd3d7505cc0eaa6cfba50946a1 Mon Sep 17 00:00:00 2001

From: Shannon Zhao <[email protected]>
Date: Mon, 29 Jun 2015 09:02:40 +0100
Subject: arm64: perf: fix unassigned cpu_pmu->plat_device when probing PMU PPIs

From: Shannon Zhao <[email protected]>

commit b265da5a45ce60bd3d7505cc0eaa6cfba50946a1 upstream.

Commit d795ef9aa831 ("arm64: perf: don't warn about missing interrupt-affinity property for PPIs") added a check for PPIs so that we avoid parsing the interrupt-affinity property for these naturally affine interrupts.

Unfortunately, this check can trigger an early (successful) return and we will not assign the value of cpu_pmu->plat_device. This patch fixes the issue.

---
 arch/arm64/kernel/perf_event.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm64/kernel/perf_event.c +2 -1
@@ -1318,7 +1318,7 @@ static int armpmu_device_probe(struct pl
 	/* Don't bother with PPIs; they're already affine */
 	irq = platform_get_irq(pdev, 0);
 	if (irq >= 0 && irq_is_percpu(irq))
-		return 0;
+		goto out;
 
 	irqs = kcalloc(pdev->num_resources, sizeof(*irqs), GFP_KERNEL);
 	if (!irqs)
@@ -1355,6 +1355,7 @@ static int armpmu_device_probe(struct pl
 	else
 		kfree(irqs);
 
+out:
 	cpu_pmu->plat_device = pdev;
 	return 0;
 }

Patches currently in stable-queue which might be from [email protected] are

queue-4.1/arm64-perf-fix-unassigned-cpu_pmu-plat_device-when-probing-pmu-ppis.patch