Skip to contentSkip to conversation

Patch "clocksource/dummy_timer: Move hotplug callback after the real timers" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Jan 10, 2017

Subsystems (2)
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

clocksource/dummy_timer: Move hotplug callback after the real timers

to the 4.9-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:
clocksource-dummy_timer-move-hotplug-callback-after-the-real-timers.patch
and it can be found in the queue-4.9 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 9bf11ecce5a2758e5a097c2f3a13d08552d0d6f9 Mon Sep 17 00:00:00 2001

From: Thomas Gleixner <[email protected]>
Date: Thu, 15 Dec 2016 12:01:05 +0100
Subject: clocksource/dummy_timer: Move hotplug callback after the real timers

From: Thomas Gleixner <[email protected]>

commit 9bf11ecce5a2758e5a097c2f3a13d08552d0d6f9 upstream.

When the dummy timer callback is invoked before the real timer callbacks, then it tries to install that timer for the starting CPU. If the platform does not have a broadcast timer installed the installation fails with a kernel crash. The crash happens due to a unconditional deference of the non available broadcast device. This needs to be fixed in the timer core code.

But even when this is fixed in the core code then installing the dummy timer before the real timers is a pointless exercise.

Move it to the end of the callback list.

Fixes 00c1d17aab51 ("clocksource/dummy_timer: Convert to hotplug state machine")
Reported-and-tested-by Mason <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Anna-Maria Gleixner <[email protected]>
Cc Richard Cochran <[email protected]>
Cc Sebastian Andrzej Siewior <[email protected]>
Cc Daniel Lezcano <[email protected]>
Cc Peter Zijlstra <[email protected]>,
Cc Sebastian Frias <[email protected]>
Cc Thibaud Cornic <[email protected]>
Cc Robin Murphy <[email protected]>
---
 include/linux/cpuhotplug.h |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
include/linux/cpuhotplug.h +2 -1
@@ -80,7 +80,6 @@ enum cpuhp_state {
 	CPUHP_AP_ARM_L2X0_STARTING,
 	CPUHP_AP_ARM_ARCH_TIMER_STARTING,
 	CPUHP_AP_ARM_GLOBAL_TIMER_STARTING,
-	CPUHP_AP_DUMMY_TIMER_STARTING,
 	CPUHP_AP_JCORE_TIMER_STARTING,
 	CPUHP_AP_EXYNOS4_MCT_TIMER_STARTING,
 	CPUHP_AP_ARM_TWD_STARTING,
@@ -94,6 +93,8 @@ enum cpuhp_state {
 	CPUHP_AP_KVM_ARM_VGIC_INIT_STARTING,
 	CPUHP_AP_KVM_ARM_VGIC_STARTING,
 	CPUHP_AP_KVM_ARM_TIMER_STARTING,
+	/* Must be the last timer callback */
+	CPUHP_AP_DUMMY_TIMER_STARTING,
 	CPUHP_AP_ARM_XEN_STARTING,
 	CPUHP_AP_ARM_CORESIGHT_STARTING,
 	CPUHP_AP_ARM_CORESIGHT4_STARTING,

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

queue-4.9/clocksource-dummy_timer-move-hotplug-callback-after-the-real-timers.patch queue-4.9/irqchip-bcm7038-l1-implement-irq_cpu_offline-callback.patch queue-4.9/x86-cpu-probe-cpuid-leaf-6-even-when-cpuid_level-6.patch queue-4.9/x86-prctl-uapi-remove-ifdef-for-checkpoint_restore.patch queue-4.9/efi-efivar_ssdt_load-don-t-return-success-on-allocation-failure.patch queue-4.9/pci-msi-check-for-null-affinity-mask-in-pci_irq_get_affinity.patch queue-4.9/genirq-affinity-fix-node-generation-from-cpumask.patch queue-4.9/tick-broadcast-prevent-null-pointer-dereference.patch