Message ID | tip-f4abaa98c4575cc06ea5e1a593e3bc2c8de8ef48@git.kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [tip:x86/pti] x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off | expand |
* tip-bot for Michal Hocko <tipbot@zytor.com> wrote: > Commit-ID: f4abaa98c4575cc06ea5e1a593e3bc2c8de8ef48 > Gitweb: https://git.kernel.org/tip/f4abaa98c4575cc06ea5e1a593e3bc2c8de8ef48 > Author: Michal Hocko <mhocko@suse.com> > AuthorDate: Tue, 13 Nov 2018 19:49:10 +0100 > Committer: Thomas Gleixner <tglx@linutronix.de> > CommitDate: Mon, 10 Dec 2018 22:07:02 +0100 > > x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off > [ tglx: Folded the documentation delta change ] > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -2095,6 +2095,9 @@ > off > Disables hypervisor mitigations and doesn't > emit any warnings. > + It also drops the swap size and available > + RAM limit restriction on both hypervisor and > + bare metal. > > Default is 'flush'. > > diff --git a/Documentation/admin-guide/l1tf.rst b/Documentation/admin-guide/l1tf.rst > index b85dd80510b0..2e65e6cb033e 100644 > --- a/Documentation/admin-guide/l1tf.rst > +++ b/Documentation/admin-guide/l1tf.rst > @@ -405,6 +405,9 @@ time with the option "l1tf=". The valid arguments for this option are: > > off Disables hypervisor mitigations and doesn't emit any > warnings. > + It also drops the swap size and available RAM limit restrictions > + on both hypervisor and bare metal. > + Note tha there's also some whitespace damage here: all other similar lines in this RST file start with two tabs, this one starts with 8 spaces. Thanks, Ingo
On Tue, 11 Dec 2018, Ingo Molnar wrote: > > off Disables hypervisor mitigations and doesn't emit any > > warnings. > > + It also drops the swap size and available RAM limit restrictions > > + on both hypervisor and bare metal. > > + > > Note tha there's also some whitespace damage here: all other similar > lines in this RST file start with two tabs, this one starts with 8 > spaces. Fixed...
On Tue 11-12-18 11:47:52, Thomas Gleixner wrote: > On Tue, 11 Dec 2018, Ingo Molnar wrote: > > > off Disables hypervisor mitigations and doesn't emit any > > > warnings. > > > + It also drops the swap size and available RAM limit restrictions > > > + on both hypervisor and bare metal. > > > + > > > > Note tha there's also some whitespace damage here: all other similar > > lines in this RST file start with two tabs, this one starts with 8 > > spaces. > > Fixed... Thanks Thomas! I haven't noticed a different whitespaces and relied on whatever vim decided to do.
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 05a252e5178d..835e422572eb 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2095,6 +2095,9 @@ off Disables hypervisor mitigations and doesn't emit any warnings. + It also drops the swap size and available + RAM limit restriction on both hypervisor and + bare metal. Default is 'flush'. diff --git a/Documentation/admin-guide/l1tf.rst b/Documentation/admin-guide/l1tf.rst index b85dd80510b0..2e65e6cb033e 100644 --- a/Documentation/admin-guide/l1tf.rst +++ b/Documentation/admin-guide/l1tf.rst @@ -405,6 +405,9 @@ time with the option "l1tf=". The valid arguments for this option are: off Disables hypervisor mitigations and doesn't emit any warnings. + It also drops the swap size and available RAM limit restrictions + on both hypervisor and bare metal. + ============ ============================================================= The default is 'flush'. For details about L1D flushing see :ref:`l1d_flush`. @@ -576,7 +579,8 @@ Default mitigations The kernel default mitigations for vulnerable processors are: - PTE inversion to protect against malicious user space. This is done - unconditionally and cannot be controlled. + unconditionally and cannot be controlled. The swap storage is limited + to ~16TB. - L1D conditional flushing on VMENTER when EPT is enabled for a guest. diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index a68b32cb845a..58689ac64440 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -1002,7 +1002,8 @@ static void __init l1tf_select_mitigation(void) #endif half_pa = (u64)l1tf_pfn_limit() << PAGE_SHIFT; - if (e820__mapped_any(half_pa, ULLONG_MAX - half_pa, E820_TYPE_RAM)) { + if (l1tf_mitigation != L1TF_MITIGATION_OFF && + e820__mapped_any(half_pa, ULLONG_MAX - half_pa, E820_TYPE_RAM)) { pr_warn("System has more than MAX_PA/2 memory. L1TF mitigation not effective.\n"); pr_info("You may make it effective by booting the kernel with mem=%llu parameter.\n", half_pa); diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index ef99f3892e1f..427a955a2cf2 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -931,7 +931,7 @@ unsigned long max_swapfile_size(void) pages = generic_max_swapfile_size(); - if (boot_cpu_has_bug(X86_BUG_L1TF)) { + if (boot_cpu_has_bug(X86_BUG_L1TF) && l1tf_mitigation != L1TF_MITIGATION_OFF) { /* Limit the swap file size to MAX_PA/2 for L1TF workaround */ unsigned long long l1tf_limit = l1tf_pfn_limit(); /*