Messages in this thread |  | | Date | Mon, 27 Nov 2017 00:14:03 +0100 | From | Thomas Gleixner <> | Subject | [patch V2 0/5] x86/kaiser: Boot time disabling and debug support |
| |
This patch series applies on top of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.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.
Thanks,
tglx
--- 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(-)
|  |