diff options
-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 1781da23e86a..4a0dcd03505b 100644 --- a/arch/x86/mm/kaiser.c +++ b/arch/x86/mm/kaiser.c @@ -10,6 +10,7 @@ #include <linux/mm.h> #include <linux/uaccess.h> #include <linux/ftrace.h> +#include <xen/xen.h> extern struct mm_struct init_mm; @@ -273,6 +274,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)) @@ -300,6 +304,8 @@ enable: disable: pr_info("Kernel/User page tables isolation: disabled\n"); + +silent_disable: kaiser_enabled = 0; setup_clear_cpu_cap(X86_FEATURE_KAISER); } |