Lines Matching +full:close +full:- +full:range
7 * the COPYING file in the top-level directory.
15 * 1) one per-CPU thread takes a per-page pthread_mutex in a random
17 * area_src), and increments a per-page counter in the same page,
20 * 2) another per-CPU thread handles the userfaults generated by
24 * 3) one last per-CPU thread transfers the memory in the background
34 * per-CPU threads 1 by triggering userfaults inside
47 * # 10MiB-~6GiB 999 bounces, continue forever unless an error triggers
108 * to avoid non alignment faults on non-x86 archs.
114 sizeof(unsigned long long) - 1) & \
116 - 1)))
201 * MADV_DONTEED won't work. So exercise -EEXIST on a alias in hugetlb_alias_mapping()
203 * this way we'll exercise the -EEXEC at the fs level. in hugetlb_alias_mapping()
224 MAP_ANONYMOUS | MAP_SHARED, -1, 0); in shmem_allocate_area()
286 seed = (unsigned int) time(NULL) - bounces; in locking_thread()
294 page_nr = -bounces; in locking_thread()
375 if (time(NULL) - start > 1) in locking_thread()
379 time(NULL) - start); in locking_thread()
388 uffd_test_ops->alias_mapping(&uffdio_copy->dst, in retry_copy_page()
389 uffdio_copy->len, in retry_copy_page()
393 if (uffdio_copy->copy != -EEXIST) in retry_copy_page()
395 uffdio_copy->copy), exit(1); in retry_copy_page()
398 uffdio_copy->copy), exit(1); in retry_copy_page()
416 if (uffdio_copy.copy != -EEXIST) in __copy_page()
459 ret = poll(pollfd, 2, -1); in uffd_poll_thread()
487 offset = (char *)(unsigned long)msg.arg.pagefault.address - in uffd_poll_thread()
489 offset &= ~(page_size-1); in uffd_poll_thread()
494 close(uffd); in uffd_poll_thread()
499 uffd_reg.range.start = msg.arg.remove.start; in uffd_poll_thread()
500 uffd_reg.range.len = msg.arg.remove.end - in uffd_poll_thread()
502 if (ioctl(uffd, UFFDIO_UNREGISTER, &uffd_reg.range)) in uffd_poll_thread()
542 offset = (char *)(unsigned long)msg.arg.pagefault.address - in uffd_read_thread()
544 offset &= ~(page_size-1); in uffd_read_thread()
601 * area_src (but they're guaranteed to get -EEXIST from in stress()
605 if (uffd_test_ops->release_pages(area_src)) in stress()
671 * For non-cooperative userfaultfd test we fork() a process that will
686 * test robustness use case - we release monitored area, fork a process
714 lastnr = (unsigned long)-1; in faulting_process()
766 if (uffd_test_ops->release_pages(area_dst)) in faulting_process()
781 uffd_test_ops->alias_mapping(&uffdio_zeropage->range.start, in retry_uffdio_zeropage()
782 uffdio_zeropage->range.len, in retry_uffdio_zeropage()
785 if (uffdio_zeropage->zeropage != -EEXIST) in retry_uffdio_zeropage()
787 uffdio_zeropage->zeropage), exit(1); in retry_uffdio_zeropage()
790 uffdio_zeropage->zeropage), exit(1); in retry_uffdio_zeropage()
800 has_zeropage = uffd_test_ops->expected_ioctls & (1 << _UFFDIO_ZEROPAGE); in __uffdio_zeropage()
805 uffdio_zeropage.range.start = (unsigned long) area_dst + offset; in __uffdio_zeropage()
806 uffdio_zeropage.range.len = page_size; in __uffdio_zeropage()
812 if (uffdio_zeropage.zeropage == -EEXIST) in __uffdio_zeropage()
813 fprintf(stderr, "UFFDIO_ZEROPAGE -EEXIST\n"), in __uffdio_zeropage()
819 if (uffdio_zeropage.zeropage != -EINVAL) in __uffdio_zeropage()
821 "UFFDIO_ZEROPAGE not -EINVAL %Ld\n", in __uffdio_zeropage()
859 if (uffd_test_ops->release_pages(area_dst)) in userfaultfd_zeropage_test()
864 uffdio_register.range.start = (unsigned long) area_dst; in userfaultfd_zeropage_test()
865 uffdio_register.range.len = nr_pages * page_size; in userfaultfd_zeropage_test()
870 expected_ioctls = uffd_test_ops->expected_ioctls; in userfaultfd_zeropage_test()
882 close(uffd); in userfaultfd_zeropage_test()
900 if (uffd_test_ops->release_pages(area_dst)) in userfaultfd_events_test()
909 uffdio_register.range.start = (unsigned long) area_dst; in userfaultfd_events_test()
910 uffdio_register.range.len = nr_pages * page_size; in userfaultfd_events_test()
915 expected_ioctls = uffd_test_ops->expected_ioctls; in userfaultfd_events_test()
941 close(uffd); in userfaultfd_events_test()
960 if (uffd_test_ops->release_pages(area_dst)) in userfaultfd_sig_test()
968 uffdio_register.range.start = (unsigned long) area_dst; in userfaultfd_sig_test()
969 uffdio_register.range.len = nr_pages * page_size; in userfaultfd_sig_test()
974 expected_ioctls = uffd_test_ops->expected_ioctls; in userfaultfd_sig_test()
984 if (uffd_test_ops->release_pages(area_dst)) in userfaultfd_sig_test()
1010 close(uffd); in userfaultfd_sig_test()
1023 uffd_test_ops->allocate_area((void **)&area_src); in userfaultfd_stress()
1026 uffd_test_ops->allocate_area((void **)&area_dst); in userfaultfd_stress()
1046 * zero, so leave a placeholder below always non-zero in userfaultfd_stress()
1078 while (bounces--) { in userfaultfd_stress()
1099 uffdio_register.range.start = (unsigned long) area_dst; in userfaultfd_stress()
1100 uffdio_register.range.len = nr_pages * page_size; in userfaultfd_stress()
1106 expected_ioctls = uffd_test_ops->expected_ioctls; in userfaultfd_stress()
1115 uffdio_register.range.start = (unsigned long) in userfaultfd_stress()
1131 * return -EEXIST). The problem comes at the next in userfaultfd_stress()
1136 * area_src would lead to -EEXIST failure during the in userfaultfd_stress()
1147 if (uffd_test_ops->release_pages(area_dst)) in userfaultfd_stress()
1155 if (ioctl(uffd, UFFDIO_UNREGISTER, &uffdio_register.range)) { in userfaultfd_stress()
1160 uffdio_register.range.start = (unsigned long) area_dst; in userfaultfd_stress()
1162 &uffdio_register.range)) { in userfaultfd_stress()
1201 close(uffd); in userfaultfd_stress()
1207 * Copied from mlock2-tests.c