From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752176AbdKZXZk (ORCPT ); Sun, 26 Nov 2017 18:25:40 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:52838 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752006AbdKZXZj (ORCPT ); Sun, 26 Nov 2017 18:25:39 -0500 Message-Id: <20171126231403.657575796@linutronix.de> User-Agent: quilt/0.63-1 Date: Mon, 27 Nov 2017 00:14:03 +0100 From: Thomas Gleixner To: LKML Cc: Dave Hansen , Andy Lutomirski , Ingo Molnar , Borislav Petkov , Brian Gerst , Denys Vlasenko , "H. Peter Anvin" , Josh Poimboeuf , Linus Torvalds , Peter Zijlstra , Rik van Riel , 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 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-)