From: Pasha Tatashin <[email protected]>
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/[email protected]
v2: https://lore.kernel.org/all/[email protected]
v3: https://lore.kernel.org/all/[email protected]
v4: https://lore.kernel.org/all/[email protected]
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