[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180823141642.38b53175@roar.ozlabs.ibm.com>
Date: Thu, 23 Aug 2018 14:16:42 +1000
From: Nicholas Piggin <npiggin@...il.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
Andrew Lutomirski <luto@...nel.org>,
"the arch/x86 maintainers" <x86@...nel.org>,
Borislav Petkov <bp@...en8.de>,
Will Deacon <will.deacon@....com>,
Rik van Riel <riel@...riel.com>,
Jann Horn <jannh@...gle.com>,
Adin Scannell <ascannell@...gle.com>,
Dave Hansen <dave.hansen@...el.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-mm <linux-mm@...ck.org>,
David Miller <davem@...emloft.net>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
Michael Ellerman <mpe@...erman.id.au>
Subject: Re: [PATCH 2/4] mm/tlb: Remove tlb_remove_table() non-concurrent
condition
On Wed, 22 Aug 2018 20:35:16 -0700
Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> On Wed, Aug 22, 2018 at 8:31 PM Nicholas Piggin <npiggin@...il.com> wrote:
> >
> >
> > So that leaves speculative operations. I don't see where the problem is
> > with those either -- this shortcut needs to ensure there are no other
> > *non speculative* operations. mm_users is correct for that.
>
> No. Because mm_users doesn't contain any lazy tlb users.
>
> And yes, those lazy tlbs are all kernel threads, but they can still
> speculatively load user addresses.
So?
If the arch does not shoot those all down after the user page tables
are removed then it's buggy regardless of this short cut.
The only real problem I could see would be if a page walk cache still
points to the freed table, then the table gets re-allocated and used
elsewhere, and meanwhile a speculative access tries to load an entry
from the page that is an invalid form of page table that might cause
a machine check or something. That would be (u)arch specific, but if
that's what we're concerned with here it's a different issue and needs
to be documented as such.
I'll have a look at powerpc and see if we can cope with it. If so, I'll
make it an arch specific opt-in short cut.
Thanks,
Nick
Powered by blists - more mailing lists