[PATCH v3 0/4] page table check fixes and cleanups
From: Pasha Tatashin
Date: Wed Jan 26 2022 - 01:05:30 EST
From: Pasha Tatashin <tatashin@xxxxxxxxxx>
Changelog:
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
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 | 18 ++++++++++
mm/debug_vm_pgtable.c | 2 ++
mm/khugepaged.c | 34 ++++++++++---------
mm/page_table_check.c | 56 ++++++++++++++++----------------
4 files changed, 66 insertions(+), 44 deletions(-)
--
2.35.0.rc0.227.g00780c9af4-goog