Re: [PATCH PTI v3 03/10] x86/pti/64: Fix ESPFIX64 user mapping

From: Kirill A. Shutemov
Date: Thu Dec 14 2017 - 09:10:45 EST


On Wed, Dec 13, 2017 at 09:01:50AM -0800, Andy Lutomirski wrote:
> On Wed, Dec 13, 2017 at 5:12 AM, Kirill A. Shutemov
> <kirill@xxxxxxxxxxxxx> wrote:
> > On Tue, Dec 12, 2017 at 07:56:38AM -0800, Andy Lutomirski wrote:
> >> The ESPFIX64 user mapping belongs in pti.c just like all the other
> >> user mappings. Move it there and make it work correctly while we're
> >> at it.
> >>
> >> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> >
> > Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> >
> > BTW, why do we open-code p?d_alloc() in pti_user_pagetable_walk_*()?
> > It seems unnecessary and potentially bogus: see smp_wmb() in __p?d_alloc()
> > helpers.
>
> The helpers won't work -- we're allocating kernel-owned tables in the
> usermode part of init_mm. The p?d_alloc() helpers allocate
> user-accounted tables in the kernelmode part of the mm.

What's wrong to account them against init_mm?

--
Kirill A. Shutemov