linux-stable/arch/x86/kernel
Michal Hocko 8c34b07190 x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off
commit 5b5e4d623e upstream.

Swap storage is restricted to max_swapfile_size (~16TB on x86_64) whenever
the system is deemed affected by L1TF vulnerability. Even though the limit
is quite high for most deployments it seems to be too restrictive for
deployments which are willing to live with the mitigation disabled.

We have a customer to deploy 8x 6,4TB PCIe/NVMe SSD swap devices which is
clearly out of the limit.

Drop the swap restriction when l1tf=off is specified. It also doesn't make
much sense to warn about too much memory for the l1tf mitigation when it is
forcefully disabled by the administrator.

[ tglx: Folded the documentation delta change ]

Fixes: 377eeaa8e1 ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2")
Signed-off-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: <linux-mm@kvack.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20181113184910.26697-1-mhocko@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-01-09 17:14:48 +01:00
..
acpi Revert "x86/apic: Ignore secondary threads if nosmt=force" 2018-08-15 18:12:53 +02:00
apic x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread 2018-08-15 18:13:01 +02:00
cpu x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off 2019-01-09 17:14:48 +01:00
fpu x86/fpu: Disable bottom halves while loading FPU registers 2018-12-05 19:41:24 +01:00
kprobes x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
.gitignore
alternative.c Revert "x86/alternative: Print unadorned pointers" 2018-02-13 10:19:49 +01:00
amd_gart_64.c x86: remove arch specific dma_supported implementation 2017-06-28 06:54:46 -07:00
amd_nb.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:42:24 +01:00
apb_timer.c
aperture_64.c x86/gart: Exclude GART aperture from vmcore 2018-04-12 12:32:20 +02:00
apm_32.c x86/apm: Don't access __preempt_count with zeroed fs 2018-07-25 11:25:07 +02:00
asm-offsets.c x86/mm: Use/Fix PCID to optimize user/kernel switches 2018-01-02 20:31:01 +01:00
asm-offsets_32.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:42:24 +01:00
asm-offsets_64.c x86/entry/64: Separate cpu_current_top_of_stack from TSS.sp0 2017-12-25 14:26:23 +01:00
audit_64.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bootflag.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
check.c x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided 2018-11-13 11:14:47 -08:00
cpuid.c
crash.c kexec: move vmcoreinfo out of the kernel's .bss section 2017-07-12 16:25:59 -07:00
crash_dump_32.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
crash_dump_64.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
devicetree.c x86/devicetree: Fix device IRQ settings in DT 2018-05-30 07:52:35 +02:00
doublefault.c x86/entry: Fix assumptions that the HW TSS is at the beginning of cpu_tss 2017-12-25 14:26:22 +01:00
dumpstack.c x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() 2018-09-05 09:26:40 +02:00
dumpstack_32.c x86/entry: Rename SYSENTER_stack to CPU_ENTRY_AREA_entry_stack 2017-12-29 17:53:44 +01:00
dumpstack_64.c x86/entry: Rename SYSENTER_stack to CPU_ENTRY_AREA_entry_stack 2017-12-29 17:53:44 +01:00
e820.c x86/boot/e820: Add support to determine the E820 type of an address 2017-07-18 11:38:01 +02:00
early-quirks.c x86/gpu: add CFL to early quirks 2018-02-22 15:42:18 +01:00
early_printk.c x86/earlyprintk: Add a force option for pciserial device 2018-11-27 16:10:47 +01:00
ebda.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
eisa.c x86/EISA: Don't probe EISA bus for Xen PV guests 2018-09-26 08:38:08 +02:00
espfix_64.c kmemcheck: stop using GFP_NOTRACK and SLAB_NOTRACK 2018-02-22 15:42:23 +01:00
ftrace.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
ftrace_32.S x86/retpoline/ftrace: Convert ftrace assembler indirect jumps 2018-01-17 09:45:29 +01:00
ftrace_64.S x86/retpoline/ftrace: Convert ftrace assembler indirect jumps 2018-01-17 09:45:29 +01:00
head32.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head64.c x86/mm: Expand static page table for fixmap space 2018-10-03 17:00:54 -07:00
head_32.S x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:42:24 +01:00
head_64.S x86/mm: Expand static page table for fixmap space 2018-10-03 17:00:54 -07:00
hpet.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
hw_breakpoint.c
i8237.c
i8253.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i8259.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
idt.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
io_delay.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ioport.c x86/entry/64: Make cpu_entry_area.tss read-only 2017-12-25 14:26:24 +01:00
irq.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
irq_32.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
irq_64.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
irq_work.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irqflags.S x86/paravirt: Make native_save_fl() extern inline 2018-07-22 14:28:42 +02:00
irqinit.c x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-15 18:12:58 +02:00
itmt.c
jump_label.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kdebugfs.c x86, mpparse, x86/acpi, x86/PCI, x86/dmi, SFI: Use memremap() for RAM mappings 2017-07-18 11:37:58 +02:00
kexec-bzimage64.c Fix kexec forbidding kernels signed with keys in the secondary keyring to boot 2018-09-09 19:55:54 +02:00
kgdb.c
ksysfs.c x86/sysfs: Fix off-by-one error in loop termination 2017-09-25 09:36:16 +02:00
kvm.c KVM: x86: fix backward migration with async_PF 2018-03-11 16:23:23 +01:00
kvmclock.c kvmclock: fix TSC calibration for nested guests 2018-08-24 13:09:18 +02:00
ldt.c x86/ldt: Unmap PTEs for the slot before freeing LDT pages 2018-11-27 16:10:50 +01:00
livepatch.c
machine_kexec_32.c x86/kexec: Avoid double free_page() upon do_kexec_load() failure 2018-05-25 16:17:35 +02:00
machine_kexec_64.c x86/kexec: Avoid double free_page() upon do_kexec_load() failure 2018-05-25 16:17:35 +02:00
Makefile x86/paravirt: Make native_save_fl() extern inline 2018-07-22 14:28:42 +02:00
mmconf-fam10h_64.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.c x86: Treat R_X86_64_PLT32 as R_X86_64_PC32 2018-03-19 08:42:44 +01:00
mpparse.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:42:24 +01:00
msr.c
nmi.c x86/nmi: Use raw lock 2017-08-16 20:40:09 +02:00
nmi_selftest.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
paravirt-spinlocks.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
paravirt.c x86/paravirt: Fix some warning messages 2018-11-04 14:52:45 +01:00
paravirt_patch_32.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
paravirt_patch_64.c x86/paravirt: Dont patch flush_tlb_single 2017-12-25 14:26:24 +01:00
pci-calgary_64.c x86: remove arch specific dma_supported implementation 2017-06-28 06:54:46 -07:00
pci-dma.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci-iommu_table.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci-nommu.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci-swiotlb.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pcspeaker.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf_regs.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
platform-quirks.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pmem.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
probe_roms.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
process.c x86/speculation: Add prctl() control for indirect branch speculation 2018-12-05 19:41:22 +01:00
process.h x86/speculation: Avoid __switch_to_xtra() calls 2018-12-05 19:41:21 +01:00
process_32.c x86/process: Consolidate and simplify switch_to_xtra() code 2018-12-05 19:41:21 +01:00
process_64.c x86/process: Consolidate and simplify switch_to_xtra() code 2018-12-05 19:41:21 +01:00
ptrace.c x86/asm: Move 'status' from thread_struct to thread_info 2018-02-07 11:12:22 -08:00
pvclock.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/nmi.h> 2017-03-02 08:42:30 +01:00
quirks.c x86/mce: Check for alternate indication of machine check recovery on Skylake 2018-07-03 11:24:46 +02:00
reboot.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
reboot_fixups_32.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
relocate_kernel_32.S
relocate_kernel_64.S x86/kexec: Make kexec (mostly) work in 5-level paging mode 2018-02-22 15:42:18 +01:00
resource.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rtc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
setup.c x86, hibernate: Fix nosave_regions setup for hibernation 2018-11-10 07:48:36 -08:00
setup_percpu.c x86/cpu_entry_area: Sync cpu_entry_area to initial_page_table 2018-03-08 22:41:07 -08:00
signal.c x86/asm: Move 'status' from thread_struct to thread_info 2018-02-07 11:12:22 -08:00
signal_compat.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smp.c x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d 2018-08-15 18:12:58 +02:00
smpboot.c x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all() 2018-08-24 13:09:11 +02:00
stacktrace.c x86/stacktrace: Make zombie stack traces reliable 2018-03-03 10:24:25 +01:00
step.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sys_x86_64.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sysfb.c
sysfb_efi.c
sysfb_simplefb.c
tboot.c x86/pti: Make unpoison of pgd for trusted boot work for real 2018-01-17 09:45:28 +01:00
tce_64.c
time.c x86/time: Correct the attribute on jiffies' definition 2018-11-10 07:48:36 -08:00
tls.c x86/ldt: Make the LDT mapping RO 2018-01-02 20:31:02 +01:00
tls.h
topology.c
trace_clock.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tracepoint.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
traps.c x86: Call fixup_exception() before notify_die() in math_error() 2018-07-03 11:24:46 +02:00
tsc.c x86/tsc: Force inlining of cyc2ns bits 2018-11-10 07:48:36 -08:00
tsc_msr.c x86/tsc: Add missing header to tsc_msr.c 2018-10-03 17:00:48 -07:00
tsc_sync.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unwind_frame.c x86/unwind: Disable unwinder warnings on 32-bit 2017-10-10 12:49:49 +02:00
unwind_guess.c x86/unwind: Add the ORC unwinder 2017-07-26 13:18:20 +02:00
unwind_orc.c x86/unwinder: Handle stack overflows more gracefully 2017-12-25 14:26:21 +01:00
uprobes.c uprobes/x86: Remove incorrect WARN_ON() in uprobe_init_insn() 2018-07-17 11:39:31 +02:00
verify_cpu.S x86/boot: Annotate verify_cpu() as a callable function 2017-12-25 14:26:13 +01:00
vm86_32.c x86/vm86/32: Fix POPF emulation 2018-03-21 12:06:41 +01:00
vmlinux.lds.S x86/kprobes: Fix kernel crash when probing .entry_trampoline code 2018-03-15 10:54:38 +01:00
vsmp_64.c
x86_init.c x86/virt, x86/platform: Merge 'struct x86_hyper' into 'struct x86_platform' and 'struct x86_init' 2017-12-25 14:26:20 +01:00