[PATCH v3 0/4] page table check fixes and cleanups

Pasha Tatashin posted 4 patches 4 years, 5 months ago
There is a newer version of this series
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(-)
[PATCH v3 0/4] page table check fixes and cleanups
Posted by Pasha Tatashin 4 years, 5 months ago
From: Pasha Tatashin <tatashin@google.com>

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