On 8/21/23 7:15 PM, Muhammad Usama Anjum wrote: > The PAGEMAP_SCAN IOCTL on the pagemap file can be used to get or optionally > clear the info about page table entries. The following operations are > supported in this IOCTL: > - Scan the address range and get the memory ranges matching the provided > criteria. This is performed when the output buffer is specified. > - Write-protect the pages. The PM_SCAN_WP_MATCHING is used to write-protect > the pages of interest. The PM_SCAN_CHECK_WPASYNC aborts the operation if > non-Async Write Protected pages are found. The ``PM_SCAN_WP_MATCHING`` > can be used with or without PM_SCAN_CHECK_WPASYNC. > - Both of those operations can be combined into one atomic operation where > we can get and write protect the pages as well. > > Following flags about pages are currently supported: > - PAGE_IS_WPALLOWED - Page has async-write-protection enabled > - PAGE_IS_WRITTEN - Page has been written to from the time it was write protected > - PAGE_IS_FILE - Page is file backed > - PAGE_IS_PRESENT - Page is present in the memory > - PAGE_IS_SWAPPED - Page is in swapped > - PAGE_IS_PFNZERO - Page has zero PFN > - PAGE_IS_HUGE - Page is THP or Hugetlb backed > > This IOCTL can be extended to get information about more PTE bits. The > entire address range passed by user [start, end) is scanned until either > the user provided buffer is full or max_pages have been found. > > Reviewed-by: Andrei Vagin <avagin@xxxxxxxxx> > Reviewed-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx> > Signed-off-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx> > Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx> Now we have the reviewed-by tags as well. The reviewers are happy with current version. Can you please have a look and possibly pick these up? -- BR, Muhammad Usama Anjum