Skip to content

Commit 6b3d13f

Browse files
KAGA-KOKOgregkh
authored andcommitted
smp/hotplug: Replace BUG_ON and react useful
commit dea1d0f upstream. The move of the unpark functions to the control thread moved the BUG_ON() there as well. While it made some sense in the idle thread of the upcoming CPU, it's bogus to crash the control thread on the already online CPU, especially as the function has a return value and the callsite is prepared to handle an error return. Replace it with a WARN_ON_ONCE() and return a proper error code. Fixes: 9cd4f1a ("smp/hotplug: Move unparking of percpu threads to the control CPU") Rightfully-ranted-at-by: Linux Torvalds <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 7b4e4b1 commit 6b3d13f

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

kernel/cpu.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,8 @@ static int bringup_wait_for_ap(unsigned int cpu)
418418

419419
/* Wait for the CPU to reach CPUHP_AP_ONLINE_IDLE */
420420
wait_for_completion(&st->done);
421-
BUG_ON(!cpu_online(cpu));
421+
if (WARN_ON_ONCE((!cpu_online(cpu))))
422+
return -ECANCELED;
422423

423424
/* Unpark the stopper thread and the hotplug thread of the target cpu */
424425
stop_machine_unpark(cpu);

0 commit comments

Comments
 (0)