Re: [PATCH] mm/khugepaged: Fix ->anon_vma race

From: Yang Shi
Date: Thu Jan 12 2023 - 22:23:38 EST


On Thu, Jan 12, 2023 at 4:10 PM Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote:
>
> On Thu, Jan 12, 2023 at 10:12:53AM -0800, Yang Shi wrote:
> > > This is totally wrong direction. Or I don't understand the race.
> > >
> > > At this point we already paid nearly all price of of pagetable retraction.
> > > I don't see any correctness reason to stop here, except for the assert.
> >
> > Isn't it possible that collapse_and_free_pmd() clear the pmd which may
> > point to a PTE which maps the COW'ed anon page if this race happens?
>
> No. At this point we have huge page in the place in the page cache and it
> is locked. COW fault would serialize on the page lock.

Aha, yeah, I missed the page lock. So IIUC even though anon_vma is set
there should be not any COW'ed anon pages since cow fault would be
blocked by the page lock. If so I tend to agree with you the lockdep
assert seems unnecessary.

>
> --
> Kiryl Shutsemau / Kirill A. Shutemov