Home
last modified time | relevance | path

Searched refs:uffd (Results 1 - 21 of 21) sorted by relevance

/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/
H A Duserfaultfd_util.c31 int uffd = uffd_desc->uffd; in uffd_handler_thread_fn() local
45 pollfd[0].fd = uffd; in uffd_handler_thread_fn()
60 pr_info("Polling uffd returned %d", r); in uffd_handler_thread_fn()
65 pr_info("uffd revents has POLLERR"); in uffd_handler_thread_fn()
79 r = read(uffd, &msg, sizeof(msg)); in uffd_handler_thread_fn()
83 pr_info("Read of uffd got errno %d\n", errno); in uffd_handler_thread_fn()
88 pr_info("Read on uffd returned unexpected size: %d bytes", r); in uffd_handler_thread_fn()
97 r = uffd_desc->handler(uffd_desc->uffd_mode, uffd, &msg); in uffd_handler_thread_fn()
117 int uffd; in uffd_setup_demand_paging() local
167 uffd_stop_demand_paging(struct uffd_desc *uffd) uffd_stop_demand_paging() argument
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/
H A Dbpf_mod_race.c67 int uffd; in test_setup_uffd() local
69 uffd = sys_userfaultfd(O_CLOEXEC); in test_setup_uffd()
70 if (uffd < 0) in test_setup_uffd()
75 if (ioctl(uffd, UFFDIO_API, &uffd_api)) { in test_setup_uffd()
76 close(uffd); in test_setup_uffd()
83 if (ioctl(uffd, UFFDIO_REGISTER, &uffd_register)) { in test_setup_uffd()
84 close(uffd); in test_setup_uffd()
87 return uffd; in test_setup_uffd()
97 int uffd, ret; in test_bpf_mod_race_config() local
100 if (!ASSERT_NEQ(fault_addr, MAP_FAILED, "mmap for uffd registratio in test_bpf_mod_race_config()
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/mm/
H A Duffd-unit-tests.c8 #include "uffd-common.h"
67 /* Arguments to be passed over to each uffd unit test */
120 * return 1 even if some test failed as long as uffd supported, because in
121 * that case we still want to proceed with the rest uffd unit tests.
126 int uffd; in test_uffd_api() local
132 uffd = uffd_open_dev(UFFD_FLAGS); in test_uffd_api()
134 uffd = uffd_open_sys(UFFD_FLAGS); in test_uffd_api()
135 if (uffd < 0) { in test_uffd_api()
143 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == 0) { in test_uffd_api()
151 if (ioctl(uffd, UFFDIO_AP in test_uffd_api()
297 pagemap_test_fork(int uffd, bool with_event, bool test_pin) pagemap_test_fork() argument
918 uffd_register_detect_zeropage(int uffd, void *addr, uint64_t len) uffd_register_detect_zeropage() argument
954 uffd_register_poison(int uffd, void *addr, uint64_t len) uffd_register_poison() argument
967 do_uffdio_poison(int uffd, unsigned long offset) do_uffdio_poison() argument
[all...]
H A Duffd-common.c8 #include "uffd-common.h"
15 int uffd = -1, uffd_flags, finished, *pipefd, test_type; variable
28 mem_fd = memfd_create("uffd-test", memfd_flags); in uffd_mem_fd_create()
239 uffd = uffd_open(UFFD_FLAGS); in userfaultfd_open()
240 if (uffd < 0) in userfaultfd_open()
242 uffd_flags = fcntl(uffd, F_GETFD, NULL); in userfaultfd_open()
246 if (ioctl(uffd, UFFDIO_API, &uffdio_api)) in userfaultfd_open()
283 if (uffd != -1) { in uffd_test_ctx_clear()
284 if (close(uffd)) in uffd_test_ctx_clear()
285 err("close uffd"); in uffd_test_ctx_clear()
625 int fd, uffd; uffd_open_dev() local
647 int uffd = uffd_open_sys(flags); uffd_open() local
[all...]
H A Duffd-stress.c37 #include "uffd-common.h"
57 "./uffd-stress anon 100 99999\n\n"
59 "./uffd-stress shmem 1000 99\n\n"
61 "./uffd-stress hugetlb 256 50\n\n"
63 "./uffd-stress hugetlb-private 256 50\n\n"
66 "while ./uffd-stress anon $[RANDOM % 6000 + 10] 999; do true; done\n\n";
70 fprintf(stderr, "\nUsage: ./uffd-stress <test type> <MiB> <bounces>\n\n"); in usage()
139 if (uffd_read_msg(uffd, &msg)) in uffd_read_thread()
158 copy_page_retry(uffd, page_nr * page_size); in background_thread()
161 * If we need to test uffd in background_thread()
[all...]
H A Dhugepage-mremap.c63 long uffd; /* userfaultfd file descriptor */ in register_region_with_uffd() local
68 uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); in register_region_with_uffd()
69 if (uffd == -1) { in register_region_with_uffd()
76 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == -1) { in register_region_with_uffd()
100 if (uffd_register(uffd, addr, len, true, false, false)) { in register_region_with_uffd()
H A DMakefile65 TEST_GEN_FILES += uffd-stress
66 TEST_GEN_FILES += uffd-unit-tests
121 $(OUTPUT)/uffd-stress: uffd-common.c
122 $(OUTPUT)/uffd-unit-tests: uffd-common.c
H A Dvm_util.c229 int uffd_register_with_ioctls(int uffd, void *addr, uint64_t len, in uffd_register_with_ioctls() argument
247 if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) == -1) in uffd_register_with_ioctls()
255 int uffd_register(int uffd, void *addr, uint64_t len, in uffd_register() argument
258 return uffd_register_with_ioctls(uffd, addr, len, in uffd_register()
262 int uffd_unregister(int uffd, void *addr, uint64_t len) in uffd_unregister() argument
267 if (ioctl(uffd, UFFDIO_UNREGISTER, &range) == -1) in uffd_unregister()
H A Dksm_functional_tests.c342 int uffd; in test_unmerge_uffd_wp() local
351 uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); in test_unmerge_uffd_wp()
352 if (uffd < 0) { in test_unmerge_uffd_wp()
360 if (ioctl(uffd, UFFDIO_API, &uffdio_api) < 0) { in test_unmerge_uffd_wp()
370 if (uffd_register(uffd, map, size, false, true, false)) { in test_unmerge_uffd_wp()
379 if (ioctl(uffd, UFFDIO_WRITEPROTECT, &uffd_writeprotect)) { in test_unmerge_uffd_wp()
392 close(uffd); in test_unmerge_uffd_wp()
H A Dmkdirty.c275 int uffd; in test_uffdio_copy() local
287 uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); in test_uffdio_copy()
288 if (uffd < 0) { in test_uffdio_copy()
295 if (ioctl(uffd, UFFDIO_API, &uffdio_api) < 0) { in test_uffdio_copy()
303 if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register)) { in test_uffdio_copy()
313 if (ioctl(uffd, UFFDIO_COPY, &uffdio_copy)) { in test_uffdio_copy()
320 close(uffd); in test_uffdio_copy()
H A Dvm_util.h49 int uffd_register(int uffd, void *addr, uint64_t len,
51 int uffd_unregister(int uffd, void *addr, uint64_t len);
52 int uffd_register_with_ioctls(int uffd, void *addr, uint64_t len,
H A Drun_vmtests.sh244 CATEGORY="userfaultfd" run_test ./uffd-unit-tests
245 uffd_stress_bin=./uffd-stress
H A Duffd-common.h95 extern int uffd, uffd_flags, finished, *pipefd, test_type;
/kernel/linux/linux-5.10/tools/testing/selftests/powerpc/tm/
H A Dtm-signal-pagefault.c86 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_REGISTE in setup_uf_mem()
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/powerpc/tm/
H A Dtm-signal-pagefault.c86 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_REGISTE in setup_uf_mem()
[all...]
/kernel/linux/linux-5.10/tools/testing/selftests/vm/
H A Duserfaultfd.c81 /* Whether to test uffd write-protection */
88 static int uffd, uffd_flags, finished, *pipefd; variable
545 int ret = read(uffd, msg, sizeof(*msg)); in uffd_read_msg()
572 wp_range(uffd, msg->arg.pagefault.address, page_size, false); in uffd_handle_page_fault()
585 if (copy_page(uffd, offset)) in uffd_handle_page_fault()
600 pollfd[0].fd = uffd; in uffd_poll_thread()
627 if (uffd_read_msg(uffd, &msg)) in uffd_poll_thread()
638 close(uffd); in uffd_poll_thread()
639 uffd = msg.arg.fork.ufd; in uffd_poll_thread()
640 pollfd[0].fd = uffd; in uffd_poll_thread()
[all...]
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/
H A Ddemand_paging_test.c75 static int handle_uffd_page_request(int uffd, uint64_t addr) in handle_uffd_page_request() argument
92 r = ioctl(uffd, UFFDIO_COPY, &copy); in handle_uffd_page_request()
112 int uffd; member
120 int uffd = uffd_args->uffd; in uffd_handler_thread_fn() local
135 pollfd[0].fd = uffd; in uffd_handler_thread_fn()
150 pr_info("Polling uffd returned %d", r); in uffd_handler_thread_fn()
155 pr_info("uffd revents has POLLERR"); in uffd_handler_thread_fn()
169 r = read(uffd, &msg, sizeof(msg)); in uffd_handler_thread_fn()
173 pr_info("Read of uffd go in uffd_handler_thread_fn()
208 int uffd; setup_demand_paging() local
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/include/
H A Duserfaultfd_util.h18 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);
/kernel/linux/linux-6.6/tools/testing/selftests/x86/
H A Dtest_shadow_stack.c457 int uffd = *(int *)arg; in uffd_thread() local
462 ret = read(uffd, &msg, sizeof(msg)); in uffd_thread()
475 if (ioctl(uffd, UFFDIO_COPY, &req)) in uffd_thread()
488 int uffd; in test_userfaultfd() local
495 uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); in test_userfaultfd()
496 if (uffd < 0) { in test_userfaultfd()
505 if (ioctl(uffd, UFFDIO_API, &uffdio_api)) in test_userfaultfd()
511 if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register)) in test_userfaultfd()
514 if (pthread_create(&thread, NULL, &uffd_thread, &uffd)) in test_userfaultfd()
535 close(uffd); in test_userfaultfd()
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/
H A Ddemand_paging_test.c60 static int handle_uffd_page_request(int uffd_mode, int uffd, in handle_uffd_page_request() argument
79 r = ioctl(uffd, UFFDIO_COPY, &copy); in handle_uffd_page_request()
91 r = ioctl(uffd, UFFDIO_CONTINUE, &cont); in handle_uffd_page_request()
98 TEST_FAIL("Invalid uffd mode %d", uffd_mode); in handle_uffd_page_request()
178 pr_info("Finished creating vCPUs and starting uffd threads\n"); in run_test()
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/aarch64/
H A Dpage_fault_test.c8 * called (e.g., uffd faults with the right address and write/read flag).
310 static int uffd_generic_handler(int uffd_mode, int uffd, struct uffd_msg *msg, in uffd_generic_handler() argument
322 pr_debug("uffd fault: addr=%p write=%d\n", in uffd_generic_handler()
330 ret = ioctl(uffd, UFFDIO_COPY, &copy); in uffd_generic_handler()
343 static int uffd_pt_handler(int mode, int uffd, struct uffd_msg *msg) in uffd_pt_handler() argument
345 return uffd_generic_handler(mode, uffd, msg, &pt_args); in uffd_pt_handler()
348 static int uffd_data_handler(int mode, int uffd, struct uffd_msg *msg) in uffd_data_handler() argument
350 return uffd_generic_handler(mode, uffd, msg, &data_args); in uffd_data_handler()
400 static int uffd_no_handler(int mode, int uffd, struct uffd_msg *msg) in uffd_no_handler() argument
721 * setup_uffd() as that function copies the memslot data for the uffd in run_test()
[all...]

Completed in 12 milliseconds