[PATCH 4.4 098/107] x86/xen: Add call of speculative_store_bypass_ht_init() to PV paths

From: Greg Kroah-Hartman
Date: Mon Jul 23 2018 - 08:49:11 EST


4.4-stable review patch. If anyone has any objections, please let me know.

------------------

From: Juergen Gross <jgross@xxxxxxxx>

commit 74899d92e66663dc7671a8017b3146dcd4735f3b upstream.

Commit:

1f50ddb4f418 ("x86/speculation: Handle HT correctly on AMD")

... added speculative_store_bypass_ht_init() to the per-CPU initialization sequence.

speculative_store_bypass_ht_init() needs to be called on each CPU for
PV guests, too.

Reported-by: Brian Woods <brian.woods@xxxxxxx>
Tested-by: Brian Woods <brian.woods@xxxxxxx>
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: boris.ostrovsky@xxxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
Fixes: 1f50ddb4f4189243c05926b842dc1a0332195f31 ("x86/speculation: Handle HT correctly on AMD")
Link: https://lore.kernel.org/lkml/20180621084331.21228-1-jgross@xxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Srivatsa S. Bhat <srivatsa@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
arch/x86/xen/smp.c | 5 +++++
1 file changed, 5 insertions(+)

--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -28,6 +28,7 @@
#include <xen/interface/vcpu.h>
#include <xen/interface/xenpmu.h>

+#include <asm/spec-ctrl.h>
#include <asm/xen/interface.h>
#include <asm/xen/hypercall.h>

@@ -87,6 +88,8 @@ static void cpu_bringup(void)
cpu_data(cpu).x86_max_cores = 1;
set_cpu_sibling_map(cpu);

+ speculative_store_bypass_ht_init();
+
xen_setup_cpu_clockevents();

notify_cpu_starting(cpu);
@@ -357,6 +360,8 @@ static void __init xen_smp_prepare_cpus(
}
set_cpu_sibling_map(0);

+ speculative_store_bypass_ht_init();
+
xen_pmu_init(0);

if (xen_smp_intr_init(0))