[lkml]   [2017]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[patch V2 0/5] x86/kaiser: Boot time disabling and debug support
This patch series applies on top of

git:// WIP.x86/mm

It contains the following updates:

- Don't set NX/PAGE_GLOBAL unconditionally

- Get rid of the compile time PAGE_GLOBAL disabling

- Add debug support for WX mappings in the KAISER shadow table

- Provide debug files to dump the kernel and the user page table for the
current task.

- Add a boot time switch to disable KAISER. This does not yet take care of
the 8k PGD allocations, but that can be done on top.

Changes vs. V1:

- Prevent setting PAGE_GLOBAL/NX when not supported or disabled

- Restructured the debug stuff a bit

- Extended the boot time disable to debug stuff

I tried to reenable paravirt by disabling kaiser at boot time when XEN_PV
is detected. XEN_PV is the only one having CR3 access paravirtualized,
which will explode nicely in the enter/exit code.

But enabling KAISER has some weird not yet debugged side effects even on
KVM guests. Will look at that tomorrow morning.



arch/x86/entry/calling.h | 7 +++
arch/x86/include/asm/kaiser.h | 10 ++++
arch/x86/include/asm/pgtable.h | 1
arch/x86/include/asm/pgtable_64.h | 9 +++
arch/x86/include/asm/pgtable_types.h | 16 ------
arch/x86/mm/debug_pagetables.c | 81 ++++++++++++++++++++++++++++++++---
arch/x86/mm/dump_pagetables.c | 32 +++++++++++--
arch/x86/mm/init.c | 14 ++++--
arch/x86/mm/kaiser.c | 42 +++++++++++++++++-
arch/x86/mm/pageattr.c | 16 +++---
security/Kconfig | 2
11 files changed, 190 insertions(+), 40 deletions(-)

 \ /
  Last update: 2017-11-27 00:26    [W:0.177 / U:3.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site