]> www.infradead.org Git - users/jedix/linux-maple.git/commit
x86/speculation/l1tf: Limit swap file size to MAX_PA/2
authorAndi Klein <ak@linux.intel.com>
Wed, 13 Jun 2018 22:48:28 +0000 (15:48 -0700)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 10 Aug 2018 22:56:33 +0000 (18:56 -0400)
commit49ea098c0296abb3df8e4ac83d6f5148b8f5c0d9
treef3926748c0050db9b9e53e39c07bf1185e7c097b
parent89c4a5828a14255ebb398eed19865b10c4779bba
x86/speculation/l1tf: Limit swap file size to MAX_PA/2

For the L1TF workaround its necessary to limit the swap file size to below
MAX_PA/2, so that the higher bits of the swap offset inverted never point
to valid memory.

Add a mechanism for the architecture to override the swap file size check
in swapfile.c and add a x86 specific max swapfile check function that
enforces that limit.

The check is only enabled if the CPU is vulnerable to L1TF.

In VMs with 42bit MAX_PA the typical limit is 2TB now, on a native system
with 46bit PA it is 32TB. The limit is only per individual swap file, so
it's always possible to exceed these limits with multiple swap files or
partitions.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Dave Hansen <dave.hansen@intel.com>
Orabug: 28220674
CVE: CVE-2018-3620

(cherry picked from commit 377eeaa8e11fe815b1d07c81c4a0e2843a8c15eb)

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>
arch/x86/mm/init.c
include/linux/swapfile.h
mm/swapfile.c