Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 1 Aug 2023 17:34:43 -0400 | From | Peter Xu <> | Subject | Re: [PATCH 1/6] mm: enable page walking API to lock vmas during the walk |
| |
On Tue, Aug 01, 2023 at 01:28:56PM -0700, Suren Baghdasaryan wrote: > I have the new patchset ready but I see 3 places where we walk the > pages after mmap_write_lock() while *I think* we can tolerate > concurrent page faults (don't need to lock the vmas): > > s390_enable_sie() > break_ksm() > clear_refs_write()
This one doesn't look right to be listed - tlb flushing is postponed after pgtable lock released, so I assume the same issue can happen like fork(): where we can have race coditions to corrupt data if, e.g., thread A writting with a writable (unflushed) tlb, alongside with thread B CoWing.
It'll indeed be nice to know whether break_ksm() can avoid that lock_vma parameter across quite a few function jumps. I don't yet see an immediate issue with this one.. No idea on s390_enable_sie(), but to make it simple and safe I'd simply leave it with the write vma lock to match the mmap write lock.
Thanks,
-- Peter Xu
| ![\](/images/icornerr.gif) |