diff options
Diffstat (limited to 'arch/x86/mm/kaiser.c')
-rw-r--r-- | arch/x86/mm/kaiser.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/mm/kaiser.c b/arch/x86/mm/kaiser.c index 1e1bed668848..840e8b896518 100644 --- a/arch/x86/mm/kaiser.c +++ b/arch/x86/mm/kaiser.c @@ -11,6 +11,7 @@ #include <linux/module.h> #include <linux/uaccess.h> #include <linux/ftrace.h> +#include <xen/xen.h> extern struct mm_struct init_mm; @@ -270,6 +271,9 @@ void __init kaiser_check_boottime_disable(void) char arg[5]; int ret; + if (xen_pv_domain()) + goto silent_disable; + ret = cmdline_find_option(boot_command_line, "pti", arg, sizeof(arg)); if (ret > 0) { if (!strncmp(arg, "on", 2)) @@ -297,6 +301,8 @@ enable: disable: pr_info("Kernel/User page tables isolation: disabled\n"); + +silent_disable: kaiser_enabled = 0; setup_clear_cpu_cap(X86_FEATURE_KAISER); } |