[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZMl6c+bVxdWW0YnN@x1n>
Date: Tue, 1 Aug 2023 17:34:43 -0400
From: Peter Xu <peterx@...hat.com>
To: Suren Baghdasaryan <surenb@...gle.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
akpm@...ux-foundation.org, jannh@...gle.com, willy@...radead.org,
liam.howlett@...cle.com, david@...hat.com, ldufour@...ux.ibm.com,
vbabka@...e.cz, michel@...pinasse.org, jglisse@...gle.com,
mhocko@...e.com, hannes@...xchg.org, dave@...olabs.net,
hughd@...gle.com, linux-kernel@...r.kernel.org, linux-mm@...ck.org,
stable@...r.kernel.org
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
Powered by blists - more mailing lists