From: Ingo Molnar <mingo@kernel.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, Peter Zijlstra <peterz@infradead.org>,
Josh Poimboeuf <jpoimboe@kernel.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
Daniel Sneddon <daniel.sneddon@linux.intel.com>
Subject: Re: [PATCH 3/3] x86/cpu: Ignore "mitigations" kernel parameter if SPECULATION_MITIGATIONS=n
Date: Wed, 10 Apr 2024 16:18:20 +0200 [thread overview]
Message-ID: <ZhafrPn/2mOcP/FE@gmail.com> (raw)
In-Reply-To: <20240409175108.1512861-4-seanjc@google.com>
* Sean Christopherson <seanjc@google.com> wrote:
> Explicitly disallow enabling mitigations at runtime for kernels that were
> built with CONFIG_SPECULATION_MITIGATIONS=n. Because more Kconfigs are
> buried behind SPECULATION_MITIGATIONS, trying to provide sane behavior for
> retroactively enabling mitigations is extremely difficult, bordering on
> impossible. E.g. page table isolation and call depth tracking requrie
> build-time support, BHI mitigations will still be off without additional
> kernel parameters, etc.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 3 +++
> arch/x86/Kconfig | 10 +++++++---
> kernel/cpu.c | 2 ++
> 3 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 70046a019d42..7d623df11a1a 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -3423,6 +3423,9 @@
> arch-independent options, each of which is an
> aggregation of existing arch-specific options.
>
> + Note, "mitigations" is supported on x86 if and only if
> + the kernel was built with SPECULATION_MITIGATIONS=y.
> +
> off
> Disable all optional CPU mitigations. This
> improves system performance, but it may also
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 10a6251f58f3..f4e4dd360636 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2493,10 +2493,14 @@ menuconfig SPECULATION_MITIGATIONS
> default y
> help
> Say Y here to enable options which enable mitigations for
> - speculative execution hardware vulnerabilities.
> + speculative execution hardware vulnerabilities. Mitigations can
> + be disabled or restricted to SMT systems at runtime via the
> + "mitigations" kernel parameter.
>
> - If you say N, all mitigations will be disabled. You really
> - should know what you are doing to say so.
> + If you say N, all mitigations will be disabled. This CANNOT be
> + overridden at runtime.
> +
> + Say 'Y', unless you really know what you are doing.
>
> if SPECULATION_MITIGATIONS
>
> diff --git a/kernel/cpu.c b/kernel/cpu.c
> index 07ad53b7f119..d445763d8047 100644
> --- a/kernel/cpu.c
> +++ b/kernel/cpu.c
> @@ -3214,6 +3214,8 @@ static int __init mitigations_parse_cmdline(char *arg)
> {
> if (!strcmp(arg, "off"))
> cpu_mitigations = CPU_MITIGATIONS_OFF;
> + else if (!IS_ENABLED(CONFIG_SPECULATION_MITIGATIONS))
> + pr_crit("Kernel compiled without mitigations, system may still be vulnerable\n");
This doesn't really make it clear that the kernel is actively ignoring the
mitigations= command line. I think something like this would be more clear:
> + pr_crit("Kernel compiled without mitigations, ignoring mitigations= boot option. System may still be vulnerable\n");
Thanks,
Ingo
next prev parent reply other threads:[~2024-04-10 14:18 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-09 17:51 [PATCH 0/3] x86/cpu: Fix SPECULATIVE_MITIGATION=n kernels Sean Christopherson
2024-04-09 17:51 ` [PATCH 1/3] x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n Sean Christopherson
2024-04-10 14:31 ` [tip: x86/urgent] " tip-bot2 for Sean Christopherson
2024-04-13 1:53 ` [PATCH 1/3] " Stephen Rothwell
2024-04-13 1:53 ` Stephen Rothwell
2024-04-13 9:27 ` Michael Ellerman
2024-04-13 9:27 ` Michael Ellerman
2024-04-13 9:38 ` Michael Ellerman
2024-04-13 9:38 ` Michael Ellerman
2024-04-14 22:42 ` Stephen Rothwell
2024-04-14 22:42 ` Stephen Rothwell
2024-04-15 11:16 ` Geert Uytterhoeven
2024-04-15 11:16 ` Geert Uytterhoeven
2024-04-15 14:31 ` Sean Christopherson
2024-04-15 14:31 ` Sean Christopherson
2024-04-16 11:06 ` Michael Ellerman
2024-04-16 11:06 ` Michael Ellerman
2024-04-19 14:03 ` Will Deacon
2024-04-19 14:03 ` Will Deacon
2024-04-19 14:06 ` Sean Christopherson
2024-04-19 14:06 ` Sean Christopherson
2024-04-19 14:38 ` Will Deacon
2024-04-19 14:38 ` Will Deacon
2024-04-15 11:13 ` Geert Uytterhoeven
2024-04-15 11:13 ` Geert Uytterhoeven
2024-04-09 17:51 ` [PATCH 2/3] x86/cpu: Disable BHI mitigation by default when SPECULATION_MITIGATIONS=n Sean Christopherson
2024-04-10 14:31 ` [tip: x86/urgent] " tip-bot2 for Sean Christopherson
2024-04-09 17:51 ` [PATCH 3/3] x86/cpu: Ignore "mitigations" kernel parameter if SPECULATION_MITIGATIONS=n Sean Christopherson
2024-04-10 14:18 ` Ingo Molnar [this message]
2024-04-09 18:55 ` [PATCH 0/3] x86/cpu: Fix SPECULATIVE_MITIGATION=n kernels Daniel Sneddon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZhafrPn/2mOcP/FE@gmail.com \
--to=mingo@kernel.org \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=daniel.sneddon@linux.intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=jpoimboe@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=peterz@infradead.org \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.