Re: [PATCH RFC 2/5] x86/speculation: Add support for 'cpu_spec_mitigations=' cmdline options

Josh Poimboeuf
2019-04-05T15:31:04Z

On Fri, Apr 05, 2019 at 08:18:09AM -0700, Randy Dunlap wrote:
> On 4/5/19 6:57 AM, Borislav Petkov wrote:
> > On Thu, Apr 04, 2019 at 11:44:12AM -0500, Josh Poimboeuf wrote:
> >> Configure x86 runtime CPU speculation bug mitigations in accordance with
> >> the 'cpu_spec_mitigations=' cmdline options. This affects Meltdown,
> >> Spectre v2, Speculative Store Bypass, and L1TF.
> >>
> >> The default behavior is unchanged.
> >>
> >> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
> >> ---
> >> .../admin-guide/kernel-parameters.txt | 15 +++++++++
> >> arch/x86/include/asm/processor.h | 1 +
> >> arch/x86/kernel/cpu/bugs.c | 32 ++++++++++++++++---
> >> arch/x86/kvm/vmx/vmx.c | 2 ++
> >> arch/x86/mm/pti.c | 4 ++-
> >> 5 files changed, 49 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> >> index ac42e510bd6e..29dc03971630 100644
> >> --- a/Documentation/admin-guide/kernel-parameters.txt
> >> +++ b/Documentation/admin-guide/kernel-parameters.txt
> >> @@ -2552,6 +2552,11 @@
> >>
> >> off
> >> Disable all speculative CPU mitigations.
> >> + Equivalent to: nopti [x86]
> >> + nospectre_v2 [x86]
> >> + spectre_v2_user=off [x86]
> >> + spec_store_bypass_disable=off [x86]
> >> + l1tf=off [x86]
> >>
> >> auto (default)
> >> Mitigate all speculative CPU vulnerabilities,
> >> @@ -2560,12 +2565,22 @@
> >> surprised by SMT getting disabled across kernel
> >> upgrades, or who have other ways of avoiding
> >> SMT-based attacks.
> >> + Equivalent to: pti=auto [x86]
> >> + spectre_v2=auto [x86]
> >> + spectre_v2_user=auto [x86]
> >> + spec_store_bypass_disable=auto [x86]
> >> + l1tf=flush [x86]
> >>
> >> auto,nosmt
> >> Mitigate all speculative CPU vulnerabilities,
> >> disabling SMT if needed. This is for users who
> >> always want to be fully mitigated, even if it
> >> means losing SMT.
> >> + Equivalent to: pti=auto [x86]
> >> + spectre_v2=auto [x86]
> >> + spectre_v2_user=auto [x86]
> >> + spec_store_bypass_disable=auto [x86]
> >> + l1tf=flush,nosmt [x86]
> >>
> >> mminit_loglevel=
> >> [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
> >
> > Yap, those sets look ok.
>
> nit: s/x86/X86/g
> according to Documentation/admin-guide/kernel-parameters.rst

Ah, I didn't realize I was conforming to a standard. I will update the
other arch strings as well. Thanks.

--
Josh