diff -up ./arch/x86/kernel/cpu/common.c.dist ./arch/x86/kernel/cpu/common.c --- ./arch/x86/kernel/cpu/common.c.dist 2017-12-29 03:59:43.000000000 +0900 +++ ./arch/x86/kernel/cpu/common.c 2018-01-10 15:37:06.848478838 +0900 @@ -1349,6 +1349,9 @@ DEFINE_PER_CPU(struct task_struct *, fpu DEFINE_PER_CPU_ALIGNED(struct stack_canary, stack_canary); #endif +DEFINE_PER_CPU_USER_MAPPED(struct kernel_ibrs_spec_ctrl, spec_ctrl_pcp); +EXPORT_PER_CPU_SYMBOL_GPL(spec_ctrl_pcp); + #endif /* CONFIG_X86_64 */ /* diff -up ./arch/x86/include/asm/spec_ctrl.h.dist ./arch/x86/include/asm/spec_ctrl.h --- ./arch/x86/include/asm/spec_ctrl.h.dist 2018-06-15 13:57:32.000000000 -0700 +++ ./arch/x86/include/asm/spec_ctrl.h 2018-06-26 10:42:53.981000000 -0700 @@ -191,6 +191,8 @@ extern void spec_ctrl_cpu_init(void); extern void ssb_select_mitigation(void); extern void ssb_print_mitigation(void); +DECLARE_PER_CPU_USER_MAPPED(struct kernel_ibrs_spec_ctrl, spec_ctrl_pcp); + bool spec_ctrl_force_enable_ibrs(void); bool spec_ctrl_cond_enable_ibrs(bool full_retpoline); bool spec_ctrl_enable_ibrs_always(void); diff -up ./arch/x86/kernel/reboot.c.dist ./arch/x86/kernel/reboot.c --- ./arch/x86/kernel/reboot.c.dist 2017-12-29 03:59:43.000000000 +0900 +++ ./arch/x86/kernel/reboot.c 2018-01-10 15:43:36.819240224 +0900 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff -up ./arch/x86/kernel/smpboot.c.dist ./arch/x86/kernel/smpboot.c --- ./arch/x86/kernel/smpboot.c.dist 2018-01-10 14:53:15.251175037 +0900 +++ ./arch/x86/kernel/smpboot.c 2018-01-10 15:45:14.219976320 +0900 @@ -72,6 +72,7 @@ #include #include #include +#include #include #include diff -up ./arch/x86/platform/efi/efi_32.c.dist ./arch/x86/platform/efi/efi_32.c --- ./arch/x86/platform/efi/efi_32.c.dist 2017-12-29 03:59:43.000000000 +0900 +++ ./arch/x86/platform/efi/efi_32.c 2018-01-10 15:45:56.356433372 +0900 @@ -30,6 +30,7 @@ #include #include #include +#include /* * To make EFI call EFI runtime service in physical addressing mode we need