On Fri, Feb 21, 2025 at 12:05:23PM +0000, Lorenzo Stoakes wrote: > Add a test to the guard region self tests to assert that the > /proc/$pid/pagemap information now made availabile to the user correctly > identifies and reports guard regions. > > As a part of this change, update vm_util.h to add the new bit (note there > is no header file in the kernel where this is exposed, the user is expected > to provide their own mask) and utilise the helper functions there for > pagemap functionality. > > Signed-off-by: Lorenzo Stoakes <lorenzo.stoa...@oracle.com>
Andrew - Apologies, I managed to not commit a change I quickly made before sending this out (I'm ill, seems it is having an impact...) If the series is ok would you mind tacking on this fix-patch? It's simply to rename a clumsily named define here. No functional changes... Thanks! ----8<---- >From 60be19e88b3bfe9a6ec459115f0027721c494b30 Mon Sep 17 00:00:00 2001 From: Lorenzo Stoakes <lorenzo.stoa...@oracle.com> Date: Fri, 21 Feb 2025 13:45:48 +0000 Subject: [PATCH] fixup define name Fix badly named define so it's consistent with the others. Signed-off-by: Lorenzo Stoakes <lorenzo.stoa...@oracle.com> --- tools/testing/selftests/mm/guard-regions.c | 6 +++--- tools/testing/selftests/mm/vm_util.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/mm/guard-regions.c b/tools/testing/selftests/mm/guard-regions.c index 0c7183e8b661..280d1831bf73 100644 --- a/tools/testing/selftests/mm/guard-regions.c +++ b/tools/testing/selftests/mm/guard-regions.c @@ -2054,7 +2054,7 @@ TEST_F(guard_regions, pagemap) for (i = 0; i < 10; i++) { char *ptr_p = &ptr[i * page_size]; unsigned long entry = pagemap_get_entry(proc_fd, ptr_p); - unsigned long masked = entry & PM_GUARD_REGION_MASK; + unsigned long masked = entry & PM_GUARD_REGION; ASSERT_EQ(masked, 0); } @@ -2070,9 +2070,9 @@ TEST_F(guard_regions, pagemap) for (i = 0; i < 10; i++) { char *ptr_p = &ptr[i * page_size]; unsigned long entry = pagemap_get_entry(proc_fd, ptr_p); - unsigned long masked = entry & PM_GUARD_REGION_MASK; + unsigned long masked = entry & PM_GUARD_REGION; - ASSERT_EQ(masked, i % 2 == 0 ? PM_GUARD_REGION_MASK : 0); + ASSERT_EQ(masked, i % 2 == 0 ? PM_GUARD_REGION : 0); } ASSERT_EQ(close(proc_fd), 0); diff --git a/tools/testing/selftests/mm/vm_util.h b/tools/testing/selftests/mm/vm_util.h index 73a11443b7f6..0e629586556b 100644 --- a/tools/testing/selftests/mm/vm_util.h +++ b/tools/testing/selftests/mm/vm_util.h @@ -10,7 +10,7 @@ #define PM_SOFT_DIRTY BIT_ULL(55) #define PM_MMAP_EXCLUSIVE BIT_ULL(56) #define PM_UFFD_WP BIT_ULL(57) -#define PM_GUARD_REGION_MASK BIT_ULL(58) +#define PM_GUARD_REGION BIT_ULL(58) #define PM_FILE BIT_ULL(61) #define PM_SWAP BIT_ULL(62) #define PM_PRESENT BIT_ULL(63) -- 2.48.1