/linux-6.3-rc2/tools/testing/selftests/kvm/lib/ |
A D | userfaultfd_util.c | 31 int uffd = uffd_desc->uffd; in uffd_handler_thread_fn() local 45 pollfd[0].fd = uffd; in uffd_handler_thread_fn() 79 r = read(uffd, &msg, sizeof(msg)); in uffd_handler_thread_fn() 117 int uffd; in uffd_setup_demand_paging() local 155 uffd_desc->uffd = uffd; in uffd_setup_demand_paging() 172 ret = write(uffd->pipefds[1], &c, 1); in uffd_stop_demand_paging() 175 ret = pthread_join(uffd->thread, NULL); in uffd_stop_demand_paging() 178 close(uffd->uffd); in uffd_stop_demand_paging() 180 close(uffd->pipefds[1]); in uffd_stop_demand_paging() 181 close(uffd->pipefds[0]); in uffd_stop_demand_paging() [all …]
|
/linux-6.3-rc2/tools/testing/selftests/bpf/prog_tests/ |
A D | bpf_mod_race.c | 91 int uffd; in test_setup_uffd() local 94 if (uffd < 0) in test_setup_uffd() 100 close(uffd); in test_setup_uffd() 108 close(uffd); in test_setup_uffd() 111 return uffd; in test_setup_uffd() 121 int uffd, ret; in test_bpf_mod_race_config() local 180 close(uffd); in test_bpf_mod_race_config() 181 uffd = -1; in test_bpf_mod_race_config() 192 close(uffd); in test_bpf_mod_race_config() 193 uffd = -1; in test_bpf_mod_race_config() [all …]
|
/linux-6.3-rc2/tools/testing/selftests/powerpc/tm/ |
A D | tm-signal-pagefault.c | 86 long uffd; /* userfaultfd file descriptor */ in fault_handler_thread() local 91 uffd = (long) arg; in fault_handler_thread() 94 pollfd.fd = uffd; in fault_handler_thread() 101 nread = read(uffd, &msg, sizeof(msg)); in fault_handler_thread() 130 if (ioctl(uffd, UFFDIO_COPY, &uffdio_copy) == -1) { in fault_handler_thread() 139 long uffd; /* userfaultfd file descriptor */ in setup_uf_mem() local 148 uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); in setup_uf_mem() 149 if (uffd == -1) { in setup_uf_mem() 155 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == -1) { in setup_uf_mem() 180 if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) == -1) { in setup_uf_mem() [all …]
|
/linux-6.3-rc2/tools/testing/selftests/mm/ |
A D | userfaultfd.c | 99 static int uffd = -1; variable 443 if (uffd < 0) in userfaultfd_open() 487 if (uffd != -1) { in uffd_test_ctx_clear() 488 if (close(uffd)) in uffd_test_ctx_clear() 490 uffd = -1; in uffd_test_ctx_clear() 803 pollfd[0].fd = uffd; in uffd_poll_thread() 832 close(uffd); in uffd_poll_thread() 834 pollfd[0].fd = uffd; in uffd_poll_thread() 1043 wp_range(uffd, in faulting_process() 1757 close(uffd); in parse_test_type_arg() [all …]
|
A D | ksm_functional_tests.c | 185 int uffd; in test_unmerge_uffd_wp() local 194 uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); in test_unmerge_uffd_wp() 195 if (uffd < 0) { in test_unmerge_uffd_wp() 203 if (ioctl(uffd, UFFDIO_API, &uffdio_api) < 0) { in test_unmerge_uffd_wp() 216 if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) < 0) { in test_unmerge_uffd_wp() 225 if (ioctl(uffd, UFFDIO_WRITEPROTECT, &uffd_writeprotect)) { in test_unmerge_uffd_wp() 238 close(uffd); in test_unmerge_uffd_wp()
|
A D | hugepage-mremap.c | 61 long uffd; /* userfaultfd file descriptor */ in register_region_with_uffd() local 67 uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); in register_region_with_uffd() 68 if (uffd == -1) { in register_region_with_uffd() 75 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == -1) { in register_region_with_uffd() 103 if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) == -1) { in register_region_with_uffd()
|
/linux-6.3-rc2/tools/testing/selftests/kvm/include/ |
A D | userfaultfd_util.h | 18 typedef int (*uffd_handler_t)(int uffd_mode, int uffd, struct uffd_msg *msg); 22 int uffd; member 33 void uffd_stop_demand_paging(struct uffd_desc *uffd);
|
/linux-6.3-rc2/tools/testing/selftests/kvm/ |
A D | demand_paging_test.c | 60 static int handle_uffd_page_request(int uffd_mode, int uffd, in handle_uffd_page_request() argument 79 r = ioctl(uffd, UFFDIO_COPY, ©); in handle_uffd_page_request() 91 r = ioctl(uffd, UFFDIO_CONTINUE, &cont); in handle_uffd_page_request()
|
/linux-6.3-rc2/tools/testing/selftests/kvm/aarch64/ |
A D | page_fault_test.c | 311 static int uffd_generic_handler(int uffd_mode, int uffd, struct uffd_msg *msg, in uffd_generic_handler() argument 331 ret = ioctl(uffd, UFFDIO_COPY, ©); in uffd_generic_handler() 344 static int uffd_pt_handler(int mode, int uffd, struct uffd_msg *msg) in uffd_pt_handler() argument 346 return uffd_generic_handler(mode, uffd, msg, &pt_args); in uffd_pt_handler() 349 static int uffd_data_handler(int mode, int uffd, struct uffd_msg *msg) in uffd_data_handler() argument 351 return uffd_generic_handler(mode, uffd, msg, &data_args); in uffd_data_handler() 401 static int uffd_no_handler(int mode, int uffd, struct uffd_msg *msg) in uffd_no_handler() argument 791 .name = SCAT4(uffd, _access, _with_af, #_mark_cmd), \
|
/linux-6.3-rc2/Documentation/admin-guide/mm/ |
A D | userfaultfd.rst | 184 uffd. You can supply as many pages as you want with these IOCTLs. 200 ``ioctl(uffd, UFFDIO_WRITEPROTECT, struct *uffdio_writeprotect)`` 205 Then, in the thread reading from uffd the struct will have 207 ``ioctl(uffd, UFFDIO_WRITEPROTECT, struct *uffdio_writeprotect)`` 210 allows you to do the bookkeeping about the write in the uffd reading
|
A D | pagemap.rst | 22 * Bit 57 pte is uffd-wp write-protected (since 5.13) (see
|