[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171126231403.657575796@linutronix.de>
Date: Mon, 27 Nov 2017 00:14:03 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
Ingo Molnar <mingo@...nel.org>, Borislav Petkov <bp@...en8.de>,
Brian Gerst <brgerst@...il.com>,
Denys Vlasenko <dvlasenk@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Peter Zijlstra <peterz@...radead.org>,
Rik van Riel <riel@...hat.com>, daniel.gruss@...k.tugraz.at,
hughd@...gle.com, keescook@...gle.com, linux-mm@...ck.org,
michael.schwarz@...k.tugraz.at, moritz.lipp@...k.tugraz.at,
richard.fellner@...dent.tugraz.at
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(-)
Powered by blists - more mailing lists