https://bugzilla.kernel.org/show_bug.cgi?id=201631 --- Comment #62 from Jan Kara (jack@xxxxxxx) --- Erhard, thanks for the results! They are very weird but pretty clear: cleaned state is 0x10 so page_vma_mapped_walk() called from page_mkclean() has bailed out somewhere between: if (bh) bh->b_cleaned_state |= 16; restart: pgd = pgd_offset(mm, pvmw->address); if (!pgd_present(*pgd)) return false; p4d = p4d_offset(pgd, pvmw->address); if (!p4d_present(*p4d)) return false; pud = pud_offset(p4d, pvmw->address); if (!pud_present(*pud)) return false; if (bh) bh->b_cleaned_state |= 32; I really don't understand how any of these tests could fail when later unmap_page_range() has found the pte. But I somehow suspect commit da7ad366b497f5 "powerpc/mm/book3s: Update pmd_present to look at _PAGE_PRESENT bit" could be related since it was introduced in the window where the problems started happening and it touches relevant code. Aneesh, what needs to be reverted so that we can test that this commit is indeed the problematic one? I suppose: da7ad366b497 "powerpc/mm/book3s: Update pmd_present to look at _PAGE_PRESENT bit" f1981b5b302f "powerpc/mm/hugetlb/book3s: add _PAGE_PRESENT to hugepd pointer." ae28f17b5eeb "powerpc/mm/book3s: Check for pmd_large instead of pmd_trans_huge" 75646c480fde "arch/powerpc/mm/hash: validate the pte entries before handling the hash fault" 8890e03380d3 "powerpc/mm/thp: update pmd_trans_huge to check for pmd_present" a0820ff33451 "powerpc/mm:book3s: Enable THP migration support" -- You are receiving this mail because: You are watching the assignee of the bug.