Patch "smp/hotplug: Replace BUG_ON and react useful" has been added to the 4.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

    smp/hotplug: Replace BUG_ON and react useful

to the 4.12-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:
     smp-hotplug-replace-bug_on-and-react-useful.patch
and it can be found in the queue-4.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From dea1d0f5f1284e3defee4b8484d9fc230686cd42 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Tue, 11 Jul 2017 22:06:24 +0200
Subject: smp/hotplug: Replace BUG_ON and react useful

From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

commit dea1d0f5f1284e3defee4b8484d9fc230686cd42 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: 9cd4f1a4e7a8 ("smp/hotplug: Move unparking of percpu threads to the control CPU")
Rightfully-ranted-at-by: Linux Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
 kernel/cpu.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -354,7 +354,8 @@ static int bringup_wait_for_ap(unsigned
 
 	/* Wait for the CPU to reach CPUHP_AP_ONLINE_IDLE */
 	wait_for_completion(&st->done);
-	BUG_ON(!cpu_online(cpu));
+	if (WARN_ON_ONCE((!cpu_online(cpu))))
+		return -ECANCELED;
 
 	/* Unpark the stopper thread and the hotplug thread of the target cpu */
 	stop_machine_unpark(cpu);


Patches currently in stable-queue which might be from tglx@xxxxxxxxxxxxx are

queue-4.12/sched-cputime-rename-vtime-fields.patch
queue-4.12/vtime-sched-cputime-remove-vtime_account_user.patch
queue-4.12/x86-ioapic-pass-the-correct-data-to-unmask_ioapic_irq.patch
queue-4.12/smp-hotplug-move-unparking-of-percpu-threads-to-the-control-cpu.patch
queue-4.12/perf-core-fix-scheduling-regression-of-pinned-groups.patch
queue-4.12/smp-hotplug-replace-bug_on-and-react-useful.patch
queue-4.12/x86-acpi-prevent-out-of-bound-access-caused-by-broken-acpi-tables.patch
queue-4.12/sched-fair-fix-load_balance-affinity-redo-path.patch
queue-4.12/sched-cputime-accumulate-vtime-on-top-of-nsec-clocksource.patch
queue-4.12/sched-cputime-move-the-vtime-task-fields-to-their-own-struct.patch
queue-4.12/sched-cputime-always-set-tsk-vtime_snap_whence-after-accounting-vtime.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]