Messages in this thread | | | Date | Mon, 2 Oct 2023 11:23:05 -0400 | From | Peter Xu <> | Subject | Re: [PATCH v2 1/3] userfaultfd: UFFDIO_REMAP: rmap preparation |
| |
On Mon, Oct 02, 2023 at 04:42:50PM +0200, David Hildenbrand wrote: > On 23.09.23 03:31, Suren Baghdasaryan wrote: > > From: Andrea Arcangeli <aarcange@redhat.com> > > > > As far as the rmap code is concerned, UFFDIO_REMAP only alters the > > page->mapping and page->index. It does it while holding the page > > lock. However folio_referenced() is doing rmap walks without taking the > > folio lock first, so folio_lock_anon_vma_read() must be updated to > > re-check that the folio->mapping didn't change after we obtained the > > anon_vma read lock. > > I'm curious: why don't we need this for existing users of > page_move_anon_rmap()? What's special about UFFDIO_REMAP?
Totally no expert on anon vma so I'm prone to errors, but IIUC the difference here is root anon vma cannot change in page_move_anon_rmap(), while UFFDIO_REMAP can.
Thanks,
-- Peter Xu
| |