Lines Matching +full:10 +full:a

27  *  object with static storage duration other than by assigning a value to an
35 * anything with it in order to trigger a read page fault. We therefore must use
66 * return value indicates whether the read/write succeeds without a fatal
75 /* If a fatal signal arose, we will jump back here and failed is set. */ in try_access_buf()
89 /* Try and read from a buffer, return true if no fatal signal. */
95 /* Try and write to a buffer, return true if no fatal signal. */
102 * Try and BOTH read from AND write to a buffer, return true if BOTH operations
142 const unsigned long NUM_PAGES = 10; in TEST_F()
166 /* Establish a guard page at the end of the mapping. */ in TEST_F()
188 * Test setting a _range_ of pages, namely the first 3. The first of in TEST_F()
240 /* Reserve a 100 page region over which we can install VMAs. */ in TEST_F()
245 /* Place a VMA of 10 pages size at the start of the region. */ in TEST_F()
246 ptr1 = mmap(ptr_region, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
250 /* Place a VMA of 5 pages size 50 pages into the region. */ in TEST_F()
256 /* Place a VMA of 20 pages size at the end of the region. */ in TEST_F()
263 ASSERT_EQ(munmap(&ptr_region[10 * page_size], 40 * page_size), 0); in TEST_F()
269 * 0 10 .. 50 55 .. 80 100 in TEST_F()
287 for (i = 0; i < 10; i++) { in TEST_F()
310 for (i = 0; i < 10; i++) { in TEST_F()
329 ptr = mmap(&ptr_region[10 * page_size], 40 * page_size, in TEST_F()
341 * 0 10 .. 50 55 .. 80 100 in TEST_F()
387 * 10 pages offset 1 page into reserve region. We MAP_POPULATE so we in TEST_F()
391 ptr1 = mmap(&ptr_region[page_size], 10 * page_size, in TEST_F()
463 ASSERT_EQ(munmap(ptr1, 10 * page_size), 0); in TEST_F()
475 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
504 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
514 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
542 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
545 for (i = 0; i < 10; i++) { in TEST_F()
552 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
562 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
567 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
570 for (i = 0; i < 10; i++) { in TEST_F()
597 for (i = 9; i < 10; i++) { in TEST_F()
615 for (i = 0; i < 10; i++) { in TEST_F()
624 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
627 for (i = 0; i < 10; i++) { in TEST_F()
638 for (i = 0; i < 10; i++) { in TEST_F()
650 for (i = 0; i < 10; i++) { in TEST_F()
661 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
664 for (i = 0; i < 10; i++) { in TEST_F()
676 for (i = 0; i < 10; i++) { in TEST_F()
683 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
693 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
698 for (i = 0; i < 10; i++) { in TEST_F()
705 for (i = 0; i < 10; i += 2) { in TEST_F()
713 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_DONTNEED), 0); in TEST_F()
716 for (i = 0; i < 10; i++) { in TEST_F()
736 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
746 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
751 for (i = 0; i < 10; i++) { in TEST_F()
758 ASSERT_EQ(mlock(ptr, 10 * page_size), 0); in TEST_F()
761 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), -1); in TEST_F()
765 ASSERT_EQ(munlock(ptr, 10 * page_size), 0); in TEST_F()
771 for (i = 0; i < 10; i++) { in TEST_F()
792 * pages removed as it is a non-destructive operation. in TEST_F()
794 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
797 for (i = 0; i < 10; i++) { in TEST_F()
804 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
811 * - Moving a mapping alone should retain markers as they are.
831 /* Map a new region we will move this range into. Doing this ensures in TEST_F()
832 * that we have reserved a range to map into. in TEST_F()
858 * same if it were a PROT_NONE mapping).
865 /* Map 10 pages... */ in TEST_F()
866 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
880 /* Now expand to 10 pages. */ in TEST_F()
881 ptr = mremap(ptr, 5 * page_size, 10 * page_size, 0); in TEST_F()
890 /* Reserve a region which we can move to and expand into. */ in TEST_F()
896 ptr = mremap(ptr, 10 * page_size, 20 * page_size, in TEST_F()
907 * A real user would have to remove guard markers, but would reasonably in TEST_F()
920 * if the user were using a PROT_NONE mapping they'd have to manually fix this
957 * As with expansion, a real user would have to remove guard pages and in TEST_F()
984 * Assert that forking a process with VMAs that do not have VM_WIPEONFORK set
994 /* Map 10 pages. */ in TEST_F()
995 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
1008 for (i = 0; i < 10; i++) { in TEST_F()
1016 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1027 for (i = 0; i < 10; i++) { in TEST_F()
1035 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1049 /* Map 10 pages. */ in TEST_F()
1050 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
1055 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1056 char chr = 'a' + (i % 26); in TEST_F()
1067 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1068 char expected = 'a' + (i % 26); in TEST_F()
1075 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1077 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_REMOVE), 0); in TEST_F()
1083 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1098 for (i = 0; i < 10 * page_size; i++) { in TEST_F()
1099 char expected = 'a' + (i % 26); in TEST_F()
1106 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1110 * Assert that forking a process with VMAs that do have VM_WIPEONFORK set
1120 /* Map 10 pages. */ in TEST_F()
1121 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
1126 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_WIPEONFORK), 0); in TEST_F()
1137 for (i = 0; i < 10; i++) { in TEST_F()
1151 for (i = 0; i < 10; i++) { in TEST_F()
1159 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1169 /* Map 10 pages. */ in TEST_F()
1170 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
1175 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1178 for (i = 0; i < 10; i++) { in TEST_F()
1185 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_FREE), 0); in TEST_F()
1188 for (i = 0; i < 10; i++) { in TEST_F()
1195 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1204 /* Map 10 pages. */ in TEST_F()
1205 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
1210 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1213 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_POPULATE_READ), -1); in TEST_F()
1217 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_POPULATE_WRITE), -1); in TEST_F()
1221 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1231 /* Map 10 pages. */ in TEST_F()
1232 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
1237 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1240 for (i = 0; i < 10; i++) { in TEST_F()
1247 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_COLD), 0); in TEST_F()
1250 for (i = 0; i < 10; i++) { in TEST_F()
1257 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_PAGEOUT), 0); in TEST_F()
1260 for (i = 0; i < 10; i++) { in TEST_F()
1267 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()
1292 /* Map 10 pages. */ in TEST_F()
1293 ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE, in TEST_F()
1299 range.len = 10 * page_size; in TEST_F()
1305 ASSERT_EQ(madvise(ptr, 10 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F()
1308 for (i = 0; i < 10; i++) { in TEST_F()
1317 ASSERT_EQ(munmap(ptr, 10 * page_size), 0); in TEST_F()