]> www.infradead.org Git - users/jedix/linux-maple.git/commit
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)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Sat, 11 Aug 2018 00:44:54 +0000 (20:44 -0400)
commit5ec9cb80a64aeee004f6067c1f2e2f4c7b48a4b7
tree5edb1f7b67def63b0b425ec982cd7277d535fa6e
parent56b53fb8d27136f0626d659bf48e53edb95b27fb
x86/mm/pat: Make set_memory_np() L1TF safe

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>
(cherry picked from commit 958f79b9ee55dfaf00c8106ed1c22a2919e0028b)

Orabug: 28220674
CVE: CVE-2018-3620

Signed-off-by: Mihai Carabas <mihai.carabas@oracle.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Conflicts:
arch/x86/mm/pageattr.c

We do not have complete pud infrastructure. Backporting all those interfaces,
will need some surgery. Manually make the desired operations for l1tf
inversions.
arch/x86/mm/pageattr.c