On Fri, Jun 21, 2019 at 11:05:42AM -0300, Jason Gunthorpe wrote: > Today this check is only being done on the get_user_pages_fast() - > after this patch it is also done for __get_user_pages_fast(). > > Which means __get_user_pages_fast is now non-functional on a range of > MIPS CPUs, but that seems OK as far as I can tell, so: > However, looks to me like this patch is also a bug fix for this: Yes. > > - pgdp = pgd_offset(mm, addr); > > - do { > > - pgd_t pgd = *pgdp; > > - > > - next = pgd_addr_end(addr, end); > > - if (pgd_none(pgd)) > > - goto slow; > > - if (!gup_pud_range(pgd, addr, next, gup_flags & FOLL_WRITE, > > - pages, &nr)) > > This is different too, the core code has a p4d layer, but I see that > whole thing gets NOP'd by the compiler as mips uses pgtable-nop4d.h - > right? Exactly.