aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/x86/xen/smp_pv.c
diff options
context:
space:
mode:
authorBrian Gerst <brgerst@gmail.com>2020-06-17 18:56:24 -0400
committerBorislav Petkov <bp@suse.de>2020-06-18 13:09:17 +0200
commitc9a1ff316bc9b1d1806a4366d0aef6e18833ba52 (patch)
treef2dae0b0a21105a645d90444b3effddc06504c94 /arch/x86/xen/smp_pv.c
parentx86/speculation: Merge one test in spectre_v2_user_select_mitigation() (diff)
downloadwireguard-linux-c9a1ff316bc9b1d1806a4366d0aef6e18833ba52.tar.xz
wireguard-linux-c9a1ff316bc9b1d1806a4366d0aef6e18833ba52.zip
x86/stackprotector: Pre-initialize canary for secondary CPUs
The idle tasks created for each secondary CPU already have a random stack canary generated by fork(). Copy the canary to the percpu variable before starting the secondary CPU which removes the need to call boot_init_stack_canary(). Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20200617225624.799335-1-brgerst@gmail.com
Diffstat (limited to 'arch/x86/xen/smp_pv.c')
-rw-r--r--arch/x86/xen/smp_pv.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c
index 171aff1b11f2..9ea598dcc132 100644
--- a/arch/x86/xen/smp_pv.c
+++ b/arch/x86/xen/smp_pv.c
@@ -92,9 +92,7 @@ static void cpu_bringup(void)
asmlinkage __visible void cpu_bringup_and_idle(void)
{
cpu_bringup();
- boot_init_stack_canary();
cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
- prevent_tail_call_optimization();
}
void xen_smp_intr_free_pv(unsigned int cpu)