]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
cpu/hotplug: Split do_cpu_down()
authorThomas Gleixner <tglx@linutronix.de>
Tue, 29 May 2018 15:49:05 +0000 (17:49 +0200)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 10 Aug 2018 22:56:34 +0000 (18:56 -0400)
Split out the inner workings of do_cpu_down() to allow reuse of that
function for the upcoming SMT disabling mechanism.

No functional change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Orabug: 28220674
CVE: CVE-2018-3620

(cherry picked from commit cc1fe215e1efa406b03aa4389e6269b61342dec5)

Signed-off-by: Mihai Carabas <mihai.carabas@oracle.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Conflicts:
kernel/cpu.c
Contextual and we do not have cpuhp_state target.

kernel/cpu.c

index f40ed44bb4125850a43622b03dde18888841afec..d3142aabd92d2f7a31697d6c6b6685da0df6265b 100644 (file)
@@ -444,20 +444,19 @@ out_release:
        return err;
 }
 
+static int cpu_down_maps_locked(unsigned int cpu)
+{
+       if (cpu_hotplug_disabled)
+               return -EBUSY;
+       return _cpu_down(cpu, 0);
+}
+
 int __ref cpu_down(unsigned int cpu)
 {
        int err;
 
        cpu_maps_update_begin();
-
-       if (cpu_hotplug_disabled) {
-               err = -EBUSY;
-               goto out;
-       }
-
-       err = _cpu_down(cpu, 0);
-
-out:
+       err = cpu_down_maps_locked(cpu);
        cpu_maps_update_done();
        return err;
 }