Re: [PATCH 3/5] mm: Rework return value for copy_one_pte()

From: Oleg Nesterov
Date: Wed Sep 23 2020 - 02:52:59 EST

On 09/22, Peter Xu wrote:
> On Tue, Sep 22, 2020 at 08:23:18PM +0200, Oleg Nesterov wrote:
> >
> > But I still think that !pte_none() -> pte_none() transition is not possible
> > under mmap_write_lock()...
> >
> > OK, let me repeat I don't understans these code paths enough, let me reword:
> > I don't see how this transition is possible.
> Though I guess I'll keep my wording, because I still think it's accurate to
> me. :)
> Can we e.g. punch a page hole without changing vmas?

punch a hole? I don't know what does it mean...

However, I think you are right anyway. I forgot that (at least) truncate can
clear this pte without mmap_sem after pte_unmap_unlock().

So I think you are right, the current code is wrong too.