On Mon, Dec 28, 2020 at 2:05 PM Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > > > But I *think* we should be fine here: do_fault_around() limits start_pgoff > and end_pgoff to stay within the page table. Yeah, but I was thinking it would then update ->pte to just past the edge. But looking at that logic, you're right - it will update ->pte and ->address only just before installing the pte, so it will never go _to_ the edge, it will always stay inside. So scratch my suspicion. It looked promising mainly because that ->pte pointer update was one of the things that changed when you instead compared against the address. Linus