OSDN Git Service

x86/mm/pat: Make set_memory_np() L1TF safe
authorAndi Kleen <ak@linux.intel.com>
Tue, 7 Aug 2018 22:09:39 +0000 (15:09 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Aug 2018 15:42:11 +0000 (17:42 +0200)
commit02ff2769edbce2261e981effbc3c4b98fae4faf0
tree4e3e74e0c9e052fec0e4fc2e4149b0d3dfb4b628
parent9feecdb6cb73feaa55b0135aee8777eaac848c78
x86/mm/pat: Make set_memory_np() L1TF safe

commit 958f79b9ee55dfaf00c8106ed1c22a2919e0028b upstream

set_memory_np() is used to mark kernel mappings not present, but it has
it's own open coded mechanism which does not have the L1TF protection of
inverting the address bits.

Replace the open coded PTE manipulation with the L1TF protecting low level
PTE routines.

Passes the CPA self test.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[ dwmw2: Pull in pud_mkhuge() from commit a00cc7d9dd, and pfn_pud() ]
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
[groeck: port to 4.4]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/pgtable.h
arch/x86/mm/pageattr.c