On Fri, Feb 21, 2025 at 5:51 AM Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> wrote: > > 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.stoakes@xxxxxxxxxx> Reviewed-by: Kalesh Singh <kaleshsingh@xxxxxxxxxx> > > 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.stoakes@xxxxxxxxxx> > 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.stoakes@xxxxxxxxxx> > --- > 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