Re: Same problem for 4.14.y and a concern: Re: [PATCH 4.19 056/191] powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM

From: Kamal Mostafa
Date: Wed Nov 18 2020 - 13:02:30 EST


On Tue, Nov 17, 2020 at 07:45:28PM -0500, Sasha Levin wrote:
> On Tue, Nov 17, 2020 at 10:51:16AM -0800, Kamal Mostafa wrote:
> > On Tue, Nov 3, 2020 at 4:22 PM Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
> >
> > > Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes:
> > > > From: Nicholas Piggin <npiggin@xxxxxxxxx>
> > > >
> > > > [ Upstream commit 66acd46080bd9e5ad2be4b0eb1d498d5145d058e ]
> > > >
> > > > powerpc uses IPIs in some situations to switch a kernel thread away
> > > > from a lazy tlb mm, which is subject to the TLB flushing race
> > > > described in the changelog introducing ARCH_WANT_IRQS_OFF_ACTIVATE_MM.
> > > >
> > > > Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> > > > Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> > > > Link:
> > > https://lore.kernel.org/r/20200914045219.3736466-3-npiggin@xxxxxxxxx
> > > > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > > > ---
> > > > arch/powerpc/Kconfig | 1 +
> > > > arch/powerpc/include/asm/mmu_context.h | 2 +-
> > > > 2 files changed, 2 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> > > > index f38d153d25861..0bc53f0e37c0f 100644
> > > > --- a/arch/powerpc/Kconfig
> > > > +++ b/arch/powerpc/Kconfig
> > > > @@ -152,6 +152,7 @@ config PPC
> > > > select ARCH_USE_BUILTIN_BSWAP
> > > > select ARCH_USE_CMPXCHG_LOCKREF if PPC64
> > > > select ARCH_WANT_IPC_PARSE_VERSION
> > > > + select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
> > >
> > > This depends on upstream commit:
> > >
> > > d53c3dfb23c4 ("mm: fix exec activate_mm vs TLB shootdown and lazy tlb
> > > switching race")
> > >
> > >
> > > Which I don't see in 4.19 stable, or in the email thread here.
> > >
> > > So this shouldn't be backported to 4.19 unless that commit is also
> > > backported.
> > >
> > > cheers
> > >
> >
> > Hi-
> >
> > This glitch has made its way into 4.14.y ...
> > [4.14.y] c2bca8712a19 powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
> > But 4.14.y does not carry the prereq that introduces that config.
>
> I'll queue up the 4.19 backport for 4.14 too, thanks!
>

Thanks Sasha.

And nevermind my other concern ...

> > It would seem that the intent is that it should be *only* enabled
> > (currently at least) for arches that will explicitly select it, but the
> > config advice does not make that very clear. Could that new config get
> > an explicit "default n" line?

... I see now that a 'default' isn't necessary; the config only appears
for arches which explicitly select it, as intended.

-Kamal