From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>, Ingo Molnar <mingo@kernel.org>,
Borislav Petkov <bp@alien8.de>, Brian Gerst <brgerst@gmail.com>,
Denys Vlasenko <dvlasenk@redhat.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Josh Poimboeuf <jpoimboe@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Rik van Riel <riel@redhat.com>,
daniel.gruss@iaik.tugraz.at, hughd@google.com,
keescook@google.com, linux-mm@kvack.org,
michael.schwarz@iaik.tugraz.at, moritz.lipp@iaik.tugraz.at,
richard.fellner@student.tugraz.at
Subject: [patch V2 0/5] x86/kaiser: Boot time disabling and debug support
Date: Mon, 27 Nov 2017 00:14:03 +0100 [thread overview]
Message-ID: <20171126231403.657575796@linutronix.de> (raw)
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(-)
next reply other threads:[~2017-11-26 23:25 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-26 23:14 Thomas Gleixner [this message]
2017-11-26 23:14 ` [patch V2 1/5] x86/kaiser: Respect disabled CPU features Thomas Gleixner
2017-11-27 9:57 ` Peter Zijlstra
2017-11-27 11:47 ` Thomas Gleixner
2017-11-27 12:31 ` Brian Gerst
2017-11-27 13:18 ` Thomas Gleixner
2017-11-27 18:11 ` Dave Hansen
2017-11-27 18:37 ` Kees Cook
2017-11-26 23:14 ` [patch V2 2/5] x86/kaiser: Simplify disabling of global pages Thomas Gleixner
2017-11-27 11:49 ` Thomas Gleixner
2017-11-27 18:15 ` Dave Hansen
2017-11-27 20:28 ` Thomas Gleixner
2017-11-26 23:14 ` [patch V2 3/5] x86/dump_pagetables: Check KAISER shadow page table for WX pages Thomas Gleixner
2017-11-27 18:17 ` Dave Hansen
2017-11-26 23:14 ` [patch V2 4/5] x86/mm/debug_pagetables: Allow dumping current pagetables Thomas Gleixner
2017-11-27 9:41 ` Peter Zijlstra
2017-11-27 10:06 ` [PATCH] vfs: Add PERM_* symbolic helpers for common file mode/permissions Ingo Molnar
2017-11-27 19:21 ` Linus Torvalds
2017-11-28 10:54 ` Ingo Molnar
2017-11-28 11:12 ` Ingo Molnar
2017-11-29 8:52 ` Michael Ellerman
2017-11-27 18:18 ` [patch V2 4/5] x86/mm/debug_pagetables: Allow dumping current pagetables Dave Hansen
2017-11-26 23:14 ` [patch V2 5/5] x86/kaiser: Add boottime disable switch Thomas Gleixner
2017-11-27 9:48 ` Peter Zijlstra
2017-11-27 10:22 ` Peter Zijlstra
2017-11-27 11:50 ` Thomas Gleixner
2017-11-27 12:49 ` Peter Zijlstra
2017-11-27 21:43 ` Peter Zijlstra
2017-11-27 18:22 ` Dave Hansen
2017-11-27 19:00 ` Thomas Gleixner
2017-11-27 19:18 ` Josh Poimboeuf
2017-11-27 20:47 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171126231403.657575796@linutronix.de \
--to=tglx@linutronix.de \
--cc=bp@alien8.de \
--cc=brgerst@gmail.com \
--cc=daniel.gruss@iaik.tugraz.at \
--cc=dave.hansen@linux.intel.com \
--cc=dvlasenk@redhat.com \
--cc=hpa@zytor.com \
--cc=hughd@google.com \
--cc=jpoimboe@redhat.com \
--cc=keescook@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=michael.schwarz@iaik.tugraz.at \
--cc=mingo@kernel.org \
--cc=moritz.lipp@iaik.tugraz.at \
--cc=peterz@infradead.org \
--cc=richard.fellner@student.tugraz.at \
--cc=riel@redhat.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).