aboutsummaryrefslogtreecommitdiffstats
path: root/lib/timerqueue.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2025-11-27 15:47:23 +0100
committerThomas Gleixner <tglx@linutronix.de>2025-12-10 15:49:11 +0900
commitc94291914b200e10c72cef23c8e4c67eb4fdbcd9 (patch)
treec5b084ea2821f2be4607cab4e5b83d4bd182dd6d /lib/timerqueue.c
parentcb015814f8b6eebcbb8e46e111d108892c5e6821 (diff)
downloadtip-c94291914b200e10c72cef23c8e4c67eb4fdbcd9.tar.gz
cpu: Make atomic hotplug callbacks run with interrupts disabled on UPsmp-urgent-2025-12-12smp/urgent
On SMP systems the CPU hotplug callbacks in the "starting" range are invoked while the CPU is brought up and interrupts are still disabled. Callbacks which are added later are invoked via the hotplug-thread on the target CPU and interrupts are explicitly disabled. In the UP case callbacks which are added later are invoked directly without the thread indirection. This is in principle okay since there is just one CPU but those callbacks are invoked with interrupt disabled code. That's incorrect as those callbacks assume interrupt disabled context. Disable interrupts before invoking the callbacks on UP if the state is atomic and interrupts are expected to be disabled. The "save" part is required because this is also invoked early in the boot process while interrupts are disabled and must not be enabled prematurely. Fixes: 06ddd17521bf1 ("sched/smp: Always define is_percpu_thread() and scheduler_ipi()") Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://patch.msgid.link/20251127144723.ev9DuXXR@linutronix.de
Diffstat (limited to 'lib/timerqueue.c')
0 files changed, 0 insertions, 0 deletions