On Fri, Apr 28, 2023 at 06:42:41PM +0100, Lorenzo Stoakes wrote: > On Fri, Apr 28, 2023 at 02:31:38PM -0300, Jason Gunthorpe wrote: > > On Fri, Apr 28, 2023 at 07:02:22PM +0200, David Hildenbrand wrote: > > > > > > No. VMA cannot get away before PTEs are unmapped and TLB is flushed. And > > > > TLB flushing is serialized against GUP_fast(). > > > > > > The whole CONFIG_MMU_GATHER_RCU_TABLE_FREE handling makes the situation more > > > complicated. > > > > Yeah, you have to think of gup_fast as RCU with a hacky pre-RCU implementation > > on most architectures. > > > > We could make page->mapping safe under RCU, for instance. > > > > Jason > > Does it really require a change though? I might be missing some details, > but afaict with interrupts disabled we should be ok to deref page->mapping > to check PageAnon and a_ops before handing back a page right? AFAIK not on all architectures Jason