Lines Matching +full:- +full:10
1 // SPDX-License-Identifier: GPL-2.0-or-later
5 #include <asm-generic/mman.h> /* Force the import of the tools version. */
76 switch (variant->backing) { in is_anon_backed()
93 switch (variant->backing) { in mmap_()
96 fd = -1; in mmap_()
101 fd = self->fd; in mmap_()
265 self->page_size = (unsigned long)sysconf(_SC_PAGESIZE); in FIXTURE_SETUP()
268 switch (variant->backing) { in FIXTURE_SETUP()
272 self->fd = open_file("", self->path); in FIXTURE_SETUP()
275 self->fd = memfd_create(self->path, 0); in FIXTURE_SETUP()
280 ASSERT_EQ(ftruncate(self->fd, 100 * self->page_size), 0); in FIXTURE_SETUP()
287 if (variant->backing == ANON_BACKED) in FIXTURE_TEARDOWN_PARENT()
290 if (self->fd >= 0) in FIXTURE_TEARDOWN_PARENT()
291 close(self->fd); in FIXTURE_TEARDOWN_PARENT()
293 if (self->path[0] != '\0') in FIXTURE_TEARDOWN_PARENT()
294 unlink(self->path); in FIXTURE_TEARDOWN_PARENT()
299 const unsigned long NUM_PAGES = 10; in TEST_F()
300 const unsigned long page_size = self->page_size; in TEST_F()
324 ASSERT_EQ(madvise(&ptr[(NUM_PAGES - 1) * page_size], page_size, in TEST_F()
329 ASSERT_FALSE(try_read_write_buf(&ptr[(NUM_PAGES - 1) * page_size])); in TEST_F()
338 ASSERT_FALSE(madvise(&ptr[(NUM_PAGES - 1) * page_size], page_size, in TEST_F()
342 ASSERT_TRUE(try_read_write_buf(&ptr[(NUM_PAGES - 1) * page_size])); in TEST_F()
393 const unsigned long page_size = self->page_size; in TEST_F()
402 /* Place a VMA of 10 pages size at the start of the region. */ in TEST_F()
403 ptr1 = mmap_(self, variant, ptr_region, 10 * page_size, in TEST_F()
418 ASSERT_EQ(munmap(&ptr_region[10 * page_size], 40 * page_size), 0); in TEST_F()
424 * 0 10 .. 50 55 .. 80 100 in TEST_F()
425 * [---] [---] [---] in TEST_F()
436 * -ENOMEM. Also if anything runs out of memory it is set to in TEST_F()
437 * -ENOMEM. You are meant to guess which is which. in TEST_F()
439 ASSERT_EQ(madvise(ptr_region, 100 * page_size, MADV_GUARD_INSTALL), -1); in TEST_F()
442 for (i = 0; i < 10; i++) { in TEST_F()
462 ASSERT_EQ(madvise(ptr_region, 100 * page_size, MADV_GUARD_REMOVE), -1); in TEST_F()
465 for (i = 0; i < 10; i++) { in TEST_F()
484 ptr = mmap_(self, variant, &ptr_region[10 * page_size], 40 * page_size, in TEST_F()
494 * 0 10 .. 50 55 .. 80 100 in TEST_F()
495 * [---][xxxx][---][xxxx][---] in TEST_F()
525 const unsigned long page_size = self->page_size; in TEST_F()
536 * 10 pages offset 1 page into reserve region. We MAP_POPULATE so we in TEST_F()
540 ptr1 = mmap_(self, variant, &ptr_region[page_size], 10 * page_size, in TEST_F()
577 if (count == -1 && errno == EPERM) in TEST_F()
609 ASSERT_EQ(munmap(ptr1, 10 * page_size), 0); in TEST_F()
617 const unsigned long page_size = self->page_size; in TEST_F()
620 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
649 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
655 const unsigned long page_size = self->page_size; in TEST_F()
659 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
671 /* Now make these pages read-only. */ in TEST_F()
687 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
690 for (i = 0; i < 10; i++) { in TEST_F()
697 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
703 const unsigned long page_size = self->page_size; in TEST_F()
707 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
712 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
715 for (i = 0; i < 10; i++) { in TEST_F()
726 /* Make sure the remaining ranges are guarded post-split. */ in TEST_F()
742 for (i = 9; i < 10; i++) { in TEST_F()
748 /* Now map them again - the unmap will have cleared the guards. */ in TEST_F()
760 for (i = 0; i < 10; i++) { in TEST_F()
769 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
772 for (i = 0; i < 10; i++) { in TEST_F()
783 for (i = 0; i < 10; i++) { in TEST_F()
795 for (i = 0; i < 10; i++) { in TEST_F()
806 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
809 for (i = 0; i < 10; i++) { in TEST_F()
821 for (i = 0; i < 10; i++) { in TEST_F()
828 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
834 const unsigned long page_size = self->page_size; in TEST_F()
838 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
843 for (i = 0; i < 10; i++) { in TEST_F()
850 for (i = 0; i < 10; i += 2) { in TEST_F()
858 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_DONTNEED), 0); in TEST_F()
861 for (i = 0; i < 10; i++) { in TEST_F()
869 switch (variant->backing) { in TEST_F()
889 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
895 const unsigned long page_size = self->page_size; in TEST_F()
899 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
904 for (i = 0; i < 10; i++) { in TEST_F()
911 ASSERT_EQ(mlock(ptr, 10 * page_size), 0); in TEST_F()
914 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), -1); in TEST_F()
918 ASSERT_EQ(munlock(ptr, 10 * page_size), 0); in TEST_F()
924 for (i = 0; i < 10; i++) { in TEST_F()
945 * pages removed as it is a non-destructive operation. in TEST_F()
947 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
950 for (i = 0; i < 10; i++) { in TEST_F()
957 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
964 * - Moving a mapping alone should retain markers as they are.
968 const unsigned long page_size = self->page_size; in TEST_F()
998 * Clean up - we only need reference the new pointer as we overwrote the in TEST_F()
1014 const unsigned long page_size = self->page_size; in TEST_F()
1017 /* Map 10 pages... */ in TEST_F()
1018 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1032 /* Now expand to 10 pages. */ in TEST_F()
1033 ptr = mremap(ptr, 5 * page_size, 10 * page_size, 0); in TEST_F()
1047 ptr = mremap(ptr, 10 * page_size, 20 * page_size, in TEST_F()
1076 const unsigned long page_size = self->page_size; in TEST_F()
1140 const unsigned long page_size = self->page_size; in TEST_F()
1145 /* Map 10 pages. */ in TEST_F()
1146 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1154 ASSERT_NE(pid, -1); in TEST_F()
1159 for (i = 0; i < 10; i++) { in TEST_F()
1167 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1178 for (i = 0; i < 10; i++) { in TEST_F()
1186 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1195 const unsigned long page_size = self->page_size; in TEST_F()
1200 if (variant->backing != ANON_BACKED) in TEST_F()
1203 /* Map 10 pages. */ in TEST_F()
1204 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1209 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1216 ASSERT_NE(pid, -1); in TEST_F()
1221 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1229 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1231 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1237 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1252 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1260 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1269 const unsigned long page_size = self->page_size; in TEST_F()
1274 if (variant->backing != ANON_BACKED) in TEST_F()
1277 /* Map 10 pages. */ in TEST_F()
1278 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1283 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_WIPEONFORK), 0); in TEST_F()
1289 ASSERT_NE(pid, -1); in TEST_F()
1294 for (i = 0; i < 10; i++) { in TEST_F()
1308 for (i = 0; i < 10; i++) { in TEST_F()
1316 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1322 const unsigned long page_size = self->page_size; in TEST_F()
1326 if (variant->backing != ANON_BACKED) in TEST_F()
1329 /* Map 10 pages. */ in TEST_F()
1330 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1335 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1338 for (i = 0; i < 10; i++) { in TEST_F()
1345 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_FREE), 0); in TEST_F()
1348 for (i = 0; i < 10; i++) { in TEST_F()
1355 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1361 const unsigned long page_size = self->page_size; in TEST_F()
1364 /* Map 10 pages. */ in TEST_F()
1365 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1370 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1373 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_POPULATE_READ), -1); in TEST_F()
1377 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_POPULATE_WRITE), -1); in TEST_F()
1381 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1387 const unsigned long page_size = self->page_size; in TEST_F()
1391 /* Map 10 pages. */ in TEST_F()
1392 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1397 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1400 for (i = 0; i < 10; i++) { in TEST_F()
1407 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_COLD), 0); in TEST_F()
1410 for (i = 0; i < 10; i++) { in TEST_F()
1417 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_PAGEOUT), 0); in TEST_F()
1420 for (i = 0; i < 10; i++) { in TEST_F()
1427 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1433 const unsigned long page_size = self->page_size; in TEST_F()
1449 if (uffd == -1) { in TEST_F()
1464 ASSERT_NE(uffd, -1); in TEST_F()
1468 /* Map 10 pages. */ in TEST_F()
1469 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1475 range.len = 10 * page_size; in TEST_F()
1481 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1484 for (i = 0; i < 10; i++) { in TEST_F()
1493 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1497 * Mark a region within a file-backed mapping using MADV_SEQUENTIAL so we
1498 * aggressively read-ahead, then install guard regions and assert that it
1508 const unsigned long page_size = self->page_size; in TEST_F()
1510 if (variant->backing == ANON_BACKED) in TEST_F()
1511 SKIP(return, "MADV_SEQUENTIAL meaningful only for file-backed"); in TEST_F()
1513 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1518 set_pattern(ptr, 10, page_size); in TEST_F()
1519 ASSERT_TRUE(check_pattern(ptr, 10, page_size)); in TEST_F()
1522 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_SEQUENTIAL), 0); in TEST_F()
1525 for (i = 0; i < 10; i += 2) { in TEST_F()
1532 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_PAGEOUT), 0); in TEST_F()
1535 for (i = 0; i < 10; i++) { in TEST_F()
1548 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1551 if (!check_pattern(ptr, 10, page_size)) in TEST_F()
1554 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1558 * Check that file-backed mappings implement guard regions with MAP_PRIVATE
1563 const unsigned long page_size = self->page_size; in TEST_F()
1567 if (variant->backing == ANON_BACKED) in TEST_F()
1568 SKIP(return, "MAP_PRIVATE test specific to file-backed"); in TEST_F()
1570 ptr_shared = mmap_(self, variant, NULL, 10 * page_size, PROT_READ | PROT_WRITE, 0, 0); in TEST_F()
1574 ptr_private = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, self->fd, 0); in TEST_F()
1578 set_pattern(ptr_shared, 10, page_size); in TEST_F()
1581 for (i = 0; i < 10; i += 2) { in TEST_F()
1587 for (i = 0; i < 10; i++) { in TEST_F()
1595 for (i = 0; i < 10; i += 2) { in TEST_F()
1601 for (i = 0; i < 10; i++) { in TEST_F()
1609 ASSERT_EQ(madvise(ptr_shared, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1611 for (i = 0; i < 10; i++) { in TEST_F()
1619 ASSERT_EQ(madvise(ptr_private, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1621 for (i = 0; i < 10; i++) { in TEST_F()
1629 ASSERT_TRUE(check_pattern(ptr_shared, 10, page_size)); in TEST_F()
1630 ASSERT_TRUE(check_pattern(ptr_private, 10, page_size)); in TEST_F()
1633 for (i = 0; i < 10; i += 2) { in TEST_F()
1658 for (i = 0; i < 10; i++) { in TEST_F()
1668 ASSERT_EQ(madvise(ptr_private, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1681 for (i = 0; i < 10; i++) { in TEST_F()
1699 ASSERT_EQ(munmap(ptr_shared, 10 * page_size), 0); in TEST_F()
1700 ASSERT_EQ(munmap(ptr_private, 10 * page_size), 0); in TEST_F()
1703 /* Test that guard regions established over a read-only mapping function correctly. */
1706 const unsigned long page_size = self->page_size; in TEST_F()
1710 if (variant->backing != LOCAL_FILE_BACKED) in TEST_F()
1711 SKIP(return, "Read-only test specific to file-backed"); in TEST_F()
1714 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1717 set_pattern(ptr, 10, page_size); in TEST_F()
1718 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1719 /* Close the fd so we can re-open read-only. */ in TEST_F()
1720 ASSERT_EQ(close(self->fd), 0); in TEST_F()
1722 /* Re-open read-only. */ in TEST_F()
1723 self->fd = open(self->path, O_RDONLY); in TEST_F()
1724 ASSERT_NE(self->fd, -1); in TEST_F()
1725 /* Re-map read-only. */ in TEST_F()
1726 ptr = mmap_(self, variant, NULL, 10 * page_size, PROT_READ, 0, 0); in TEST_F()
1730 for (i = 0; i < 10; i += 2) { in TEST_F()
1737 for (i = 0; i < 10; i++) { in TEST_F()
1744 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1747 ASSERT_TRUE(check_pattern(ptr, 10, page_size)); in TEST_F()
1749 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1754 const unsigned long page_size = self->page_size; in TEST_F()
1758 if (variant->backing == ANON_BACKED) in TEST_F()
1759 SKIP(return, "Fault-around test specific to file-backed"); in TEST_F()
1761 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1766 set_pattern(ptr, 10, page_size); in TEST_F()
1772 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_PAGEOUT), 0); in TEST_F()
1775 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1776 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1781 for (i = 0; i < 10; i += 2) { in TEST_F()
1787 /* Now fault in every odd page. This should trigger fault-around. */ in TEST_F()
1788 for (i = 1; i < 10; i += 2) { in TEST_F()
1795 for (i = 0; i < 10; i++) { in TEST_F()
1801 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1806 const unsigned long page_size = self->page_size; in TEST_F()
1810 if (variant->backing == ANON_BACKED) in TEST_F()
1811 SKIP(return, "Truncation test specific to file-backed"); in TEST_F()
1813 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1821 set_pattern(ptr, 10, page_size); in TEST_F()
1824 for (i = 0; i < 10; i += 2) { in TEST_F()
1831 for (i = 0; i < 10; i++) { in TEST_F()
1838 ASSERT_EQ(ftruncate(self->fd, 10 * page_size), 0); in TEST_F()
1841 for (i = 0; i < 10; i++) { in TEST_F()
1848 ASSERT_EQ(ftruncate(self->fd, 5 * page_size), 0); in TEST_F()
1849 ASSERT_EQ(ftruncate(self->fd, 10 * page_size), 0); in TEST_F()
1852 for (i = 0; i < 10; i++) { in TEST_F()
1858 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1863 const unsigned long page_size = self->page_size; in TEST_F()
1867 if (variant->backing == ANON_BACKED) in TEST_F()
1868 SKIP(return, "Truncation test specific to file-backed"); in TEST_F()
1871 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
1874 set_pattern(ptr, 10, page_size); in TEST_F()
1890 for (i = 0; i < 10; i++) { in TEST_F()
1901 for (i = 0; i < 10; i++) { in TEST_F()
1908 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1910 /* Check that the pattern exists in non-hole punched region. */ in TEST_F()
1917 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1922 * seal it then open the mapping read-only and still establish guard regions
1927 const unsigned long page_size = self->page_size; in TEST_F()
1931 if (variant->backing != SHMEM_BACKED) in TEST_F()
1935 ASSERT_EQ(close(self->fd), 0); in TEST_F()
1938 self->fd = memfd_create("guard_regions_memfd_seals_test", in TEST_F()
1940 ASSERT_NE(self->fd, -1); in TEST_F()
1941 ASSERT_EQ(ftruncate(self->fd, 10 * page_size), 0); in TEST_F()
1944 ptr = mmap_(self, variant, NULL, 10 * page_size, PROT_READ | PROT_WRITE, 0, 0); in TEST_F()
1946 set_pattern(ptr, 10, page_size); in TEST_F()
1947 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1949 /* Write-seal the memfd. */ in TEST_F()
1950 ASSERT_EQ(fcntl(self->fd, F_ADD_SEALS, F_SEAL_WRITE), 0); in TEST_F()
1953 ptr = mmap_(self, variant, NULL, 10 * page_size, PROT_READ, 0, 0); in TEST_F()
1957 ASSERT_TRUE(check_pattern(ptr, 10, page_size)); in TEST_F()
1960 for (i = 0; i < 10; i += 2) { in TEST_F()
1967 for (i = 0; i < 10; i++) { in TEST_F()
1974 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1977 ASSERT_TRUE(check_pattern(ptr, 10, page_size)); in TEST_F()
1980 for (i = 0; i < 10; i++) { in TEST_F()
1986 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1991 * Since we are now permitted to establish guard regions in read-only anonymous
1998 const unsigned long page_size = self->page_size; in TEST_F()
2005 /* Obtain a read-only i.e. anon zero page mapping. */ in TEST_F()
2006 ptr = mmap_(self, variant, NULL, 10 * page_size, PROT_READ, 0, 0); in TEST_F()
2010 for (i = 0; i < 10; i += 2) { in TEST_F()
2017 for (i = 0; i < 10; i++) { in TEST_F()
2024 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
2027 for (i = 0; i < 10; i++) { in TEST_F()
2034 ASSERT_TRUE(is_buf_eq(ptr, 10 * page_size, '\0')); in TEST_F()
2036 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
2044 const unsigned long page_size = self->page_size; in TEST_F()
2050 ASSERT_NE(proc_fd, -1); in TEST_F()
2052 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
2057 for (i = 0; i < 10; i++) { in TEST_F()
2066 for (i = 0; i < 10; i += 2) { in TEST_F()
2072 /* Re-read from pagemap, and assert guard regions are detected. */ in TEST_F()
2073 for (i = 0; i < 10; i++) { in TEST_F()
2082 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
2090 const unsigned long page_size = self->page_size; in TEST_F()
2091 struct page_region pm_regs[10]; in TEST_F()
2103 ASSERT_NE(proc_fd, -1); in TEST_F()
2105 ptr = mmap_(self, variant, NULL, 10 * page_size, in TEST_F()
2110 pm_scan_args.end = (long)ptr + 10 * page_size; in TEST_F()
2112 ASSERT_EQ(pm_scan_args.walk_end, (long)ptr + 10 * page_size); in TEST_F()
2115 for (i = 0; i < 10; i += 2) { in TEST_F()
2123 * region spans every other page within the range of 10 pages. in TEST_F()
2126 ASSERT_EQ(pm_scan_args.walk_end, (long)ptr + 10 * page_size); in TEST_F()
2128 /* Re-read from pagemap, and assert guard regions are detected. */ in TEST_F()
2138 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()