Re: [PATCH v33 2/6] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs

From: Muhammad Usama Anjum
Date: Mon Aug 28 2023 - 02:59:01 EST


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