[PATCH 0/3 v2] fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions
From: Andrei Vagin
Date: Mon Mar 24 2025 - 02:54:50 EST
Introduce the PAGE_IS_GUARD flag in the PAGEMAP_SCAN ioctl to expose
information about guard regions. This allows userspace tools, such as
CRIU, to detect and handle guard regions.
Currently, CRIU utilizes PAGEMAP_SCAN as a more efficient alternative to
parsing /proc/pid/pagemap. Without this change, guard regions are
incorrectly reported as swap-anon regions, leading CRIU to attempt
dumping them and subsequently failing.
This series should be applied on top of "[PATCH 0/2] fs/proc/task_mmu:
add guard region bit to pagemap":
https://lore.kernel.org/all/2025031926-engraved-footer-3e9b@gregkh/T/
The series includes updates to the documentation and selftests to
reflect the new functionality.
v2:
- sync linux/fs.h with the kernel sources
- address comments from Lorenzo and David.
Andrei Vagin (3):
fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions
tools headers UAPI: Sync linux/fs.h with the kernel sources
selftests/mm: add PAGEMAP_SCAN guard region test
Documentation/admin-guide/mm/pagemap.rst | 1 +
fs/proc/task_mmu.c | 17 ++++---
include/uapi/linux/fs.h | 1 +
tools/include/uapi/linux/fs.h | 19 +++++++-
tools/testing/selftests/mm/guard-regions.c | 57 ++++++++++++++++++++++
5 files changed, 87 insertions(+), 8 deletions(-)
--
2.49.0.rc1.451.g8f38331e32-goog