From: Andy Lutomirski Date: Fri, 15 Dec 2017 21:08:18 +0000 (+0100) Subject: x86/mm/pti: Map ESPFIX into user space X-Git-Tag: v4.19~1574^2~172 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4b6bbe95b87966ba08999574db65c93c5e925a36;p=platform%2Fkernel%2Flinux-rpi.git x86/mm/pti: Map ESPFIX into user space Map the ESPFIX pages into user space when PTI is enabled. Signed-off-by: Andy Lutomirski Signed-off-by: Thomas Gleixner Cc: Borislav Petkov Cc: Brian Gerst Cc: Dave Hansen Cc: David Laight Cc: H. Peter Anvin Cc: Josh Poimboeuf Cc: Juergen Gross Cc: Kees Cook Cc: Linus Torvalds Cc: Peter Zijlstra Signed-off-by: Ingo Molnar --- diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c index 0e78797..b1c38ef 100644 --- a/arch/x86/mm/pti.c +++ b/arch/x86/mm/pti.c @@ -288,6 +288,16 @@ static void __init pti_clone_user_shared(void) } /* + * Clone the ESPFIX P4D into the user space visinble page table + */ +static void __init pti_setup_espfix64(void) +{ +#ifdef CONFIG_X86_ESPFIX64 + pti_clone_p4d(ESPFIX_BASE_ADDR); +#endif +} + +/* * Clone the populated PMDs of the entry and irqentry text and force it RO. */ static void __init pti_clone_entry_text(void) @@ -308,4 +318,5 @@ void __init pti_init(void) pti_clone_user_shared(); pti_clone_entry_text(); + pti_setup_espfix64(); }