Re: [PATCH 1/3] x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n
From: Will Deacon
Date: Fri Apr 19 2024 - 10:06:52 EST
On Mon, Apr 15, 2024 at 07:31:23AM -0700, Sean Christopherson wrote:
> On Mon, Apr 15, 2024, Geert Uytterhoeven wrote:
> > On Sat, Apr 13, 2024 at 11:38 AM Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
> > > Michael Ellerman <mpe@xxxxxxxxxxxxxx> writes:
> > > > Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> writes:
> > > ...
> > > >> On Tue, 9 Apr 2024 10:51:05 -0700 Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
> > > ...
> > > >>> diff --git a/kernel/cpu.c b/kernel/cpu.c
> > > >>> index 8f6affd051f7..07ad53b7f119 100644
> > > >>> --- a/kernel/cpu.c
> > > >>> +++ b/kernel/cpu.c
> > > >>> @@ -3207,7 +3207,8 @@ enum cpu_mitigations {
> > > >>> };
> > > >>>
> > > >>> static enum cpu_mitigations cpu_mitigations __ro_after_init =
> > > >>> - CPU_MITIGATIONS_AUTO;
> > > >>> + IS_ENABLED(CONFIG_SPECULATION_MITIGATIONS) ? CPU_MITIGATIONS_AUTO :
> > > >>> + CPU_MITIGATIONS_OFF;
> > > >>>
> > > >>> static int __init mitigations_parse_cmdline(char *arg)
> > > >>> {
> > >
> > > I think a minimal workaround/fix would be:
> > >
> > > diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
> > > index 2b8fd6bb7da0..290be2f9e909 100644
> > > --- a/drivers/base/Kconfig
> > > +++ b/drivers/base/Kconfig
> > > @@ -191,6 +191,10 @@ config GENERIC_CPU_AUTOPROBE
> > > config GENERIC_CPU_VULNERABILITIES
> > > bool
> > >
> > > +config SPECULATION_MITIGATIONS
> > > + def_bool y
> > > + depends on !X86
> > > +
> > > config SOC_BUS
> > > bool
> > > select GLOB
> >
> > Thanks, that works for me (on arm64), so
> > Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
> Oof. I completely missed that "cpu_mitigations" wasn't x86-only. I can't think
> of better solution than an on-by-default generic Kconfig, though can't that it
> more simply be:
>
> diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
> index 2b8fd6bb7da0..5930cb56ee29 100644
> --- a/drivers/base/Kconfig
> +++ b/drivers/base/Kconfig
> @@ -191,6 +191,9 @@ config GENERIC_CPU_AUTOPROBE
> config GENERIC_CPU_VULNERABILITIES
> bool
>
> +config SPECULATION_MITIGATIONS
> + def_bool !X86
> +
> config SOC_BUS
> bool
> select GLOB
I can't see this in -next yet. Do you plan to post it as a proper patch
to collect acks etc?
Cheers,
Will