Re: [PATCH v2 07/12] mm: thp: check pmd migration entry in common path

From: Hillf Danton
Date: Thu Nov 10 2016 - 04:30:42 EST


On Thursday, November 10, 2016 5:22 PM Naoya Horiguchi wrote:
> On Thu, Nov 10, 2016 at 05:08:07PM +0800, Hillf Danton wrote:
> > On Tuesday, November 08, 2016 7:32 AM Naoya Horiguchi wrote:
> > >
> > > @@ -1013,6 +1027,9 @@ int do_huge_pmd_wp_page(struct fault_env *fe, pmd_t orig_pmd)
> > > if (unlikely(!pmd_same(*fe->pmd, orig_pmd)))
> > > goto out_unlock;
> > >
> > > + if (unlikely(!pmd_present(orig_pmd)))
> > > + goto out_unlock;
> > > +
> >
> > Can we encounter a migration entry after acquiring ptl ?
>
> I think we can. thp migration code releases ptl after converting pmd into
> migration entry, so other code can see it even within ptl.
>
But we have a pmd_same check there, you see.