]> git.hungrycats.org Git - linux/commitdiff
x86: kvmclock: Disable use from vDSO if KPTI is enabled
authorBen Hutchings <ben@decadent.org.uk>
Fri, 5 Jan 2018 03:09:26 +0000 (03:09 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 9 Jan 2018 00:35:14 +0000 (00:35 +0000)
Currently the pvclock pages aren't being added to user-space page
tables, and my attempt to fix this didn't work.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/x86/kernel/kvmclock.c
arch/x86/mm/kaiser.c

index a2de9bc7ac0b2ac3a9355a266d8937d07d44bb0f..206aa5a2afe09000a84f5aba0bcb62cec561bc64 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/percpu.h>
 #include <linux/hardirq.h>
 #include <linux/memblock.h>
+#include <linux/kaiser.h>
 
 #include <asm/x86_init.h>
 #include <asm/reboot.h>
@@ -281,6 +282,10 @@ int __init kvm_setup_vsyscall_timeinfo(void)
        if (!hv_clock)
                return 0;
 
+       /* FIXME: Need to add pvclock pages to user-space page tables */
+       if (kaiser_enabled)
+               return 0;
+
        size = PAGE_ALIGN(sizeof(struct pvclock_vsyscall_time_info)*NR_CPUS);
 
        preempt_disable();
index 09eb0c5bb856ab98f7209d5dc1b409867774b61e..24fb63e492ed134a649abed27d3269002df63a3b 100644 (file)
@@ -265,7 +265,7 @@ static void __init kaiser_init_all_pgds(void)
  */
 void __init kaiser_init(void)
 {
-       int cpu;
+       int cpu, idx;
 
        kaiser_init_all_pgds();