From: Pasha Tatashin <tatashin@xxxxxxxxxx> Changelog: v5: - Renamed page_table_check_pmd_clear_full() -> page_table_check_clear_pte_range(). Removed call to __page_table_check_pmd_clear() from this function. - Added Acks. v4: - Addressed review comments from David Rientjes - Added Acks. v3: - Resolved a regression introduced in previous version, where page collapse in khugepaged would cause crash on boot. - Addressed comments from Anshuman Khandual regarding commit log. v2: - Addressed simplification comments from Wei Xu - Added Review-by/Tested-by's from Zi Yan and Wei Xu Two fixes: mm/debug_vm_pgtable: remove pte entry from the page table - remove a pte entry from the page table at the end of debug_vm_pgtable pte test mm/khugepaged: unify collapse pmd clear, flush and free mm/page_table_check: check entries at pmd levels - check pmd level in page_table_check for PTE regular entries prior to freeing. repro.c: https://gist.github.com/soleen/fdcd501d5df103976245fe84e9535087 config: https://gist.github.com/soleen/8a56f923c2fea9ce9c75b4e2517d4162 qemu_script: https://gist.github.com/soleen/f4be4795826b7ab1a51ae659582e179c base image: https://storage.googleapis.com/syzkaller/wheezy.img https://storage.googleapis.com/syzkaller/wheezy.img.key Small cleanup: mm/page_table_check: use unsigned long for page counters and cleanup Previous versions: v1: https://lore.kernel.org/all/20220120042513.1648831-1-pasha.tatashin@xxxxxxxxxx v2: https://lore.kernel.org/all/20220120191250.2671557-1-pasha.tatashin@xxxxxxxxxx v3: https://lore.kernel.org/all/20220126060514.1574935-1-pasha.tatashin@xxxxxxxxxx v4: https://lore.kernel.org/all/20220126183637.1840960-1-pasha.tatashin@xxxxxxxxxx Pasha Tatashin (4): mm/debug_vm_pgtable: remove pte entry from the page table mm/page_table_check: use unsigned long for page counters and cleanup mm/khugepaged: unify collapse pmd clear, flush and free mm/page_table_check: check entries at pmd levels include/linux/page_table_check.h | 19 +++++++++++ mm/debug_vm_pgtable.c | 2 ++ mm/khugepaged.c | 37 +++++++++++---------- mm/page_table_check.c | 55 ++++++++++++++++---------------- 4 files changed, 69 insertions(+), 44 deletions(-) -- 2.35.0.rc2.247.g8bbb082509-goog