Here is the promised splitup of what I posted a few days ago as 5/7 mm/thp: fix page_vma_mapped_walk() if huge page mapped by ptes. These are against 5.13-rc5 plus yesterday's mm/thp series: https://lore.kernel.org/linux-mm/f7fc2e72-b8b1-f132-cdb2-1b256a6f2de@xxxxxxxxxx/T/#u (sorry about the misthreading, I missed linux-mm and lkml at first). 03/10 and 04/10 of that series also touched mm/page_vma_mapped.c. I've marked all of these for stable: many are merely cleanups, but I think they are much better before the main fix than after. 01/11 makes the opposite cleanup to the earlier 5/7: that preferred to use pvmw->page, this prefers to use page - it could go either way. 11/11 is a new fix that I noticed while splitting up. 01/11 mm: page_vma_mapped_walk(): use page for pvmw->page 02/11 mm: page_vma_mapped_walk(): settle PageHuge on entry 03/11 mm: page_vma_mapped_walk(): use pmd_read_atomic() 04/11 mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd 05/11 mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block 06/11 mm: page_vma_mapped_walk(): crossing page table boundary 07/11 mm: page_vma_mapped_walk(): add a level of indentation 08/11 mm: page_vma_mapped_walk(): use goto instead of while (1) 09/11 mm: page_vma_mapped_walk(): get vma_address_end() earlier 10/11 mm/thp: fix page_vma_mapped_walk() if THP mapped by ptes 11/11 mm/thp: another PVMW_SYNC fix in page_vma_mapped_walk() mm/page_vma_mapped.c | 160 +++++++++++++++++++++++++++------------------ 1 file changed, 96 insertions(+), 64 deletions(-) Hugh