Home
last modified time | relevance | path

Searched refs:uffdio_api (Results 1 – 15 of 15) sorted by relevance

/linux-6.15/tools/testing/selftests/mm/
H A Dhugepage-mremap.c65 struct uffdio_api uffdio_api; in register_region_with_uffd() local
73 uffdio_api.api = UFFD_API; in register_region_with_uffd()
74 uffdio_api.features = 0; in register_region_with_uffd()
75 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == -1) in register_region_with_uffd()
H A Duffd-common.c239 struct uffdio_api uffdio_api; in userfaultfd_open() local
246 uffdio_api.api = UFFD_API; in userfaultfd_open()
247 uffdio_api.features = *features; in userfaultfd_open()
248 if (ioctl(uffd, UFFDIO_API, &uffdio_api)) in userfaultfd_open()
251 if (uffdio_api.api != UFFD_API) in userfaultfd_open()
252 err("UFFDIO_API error: %" PRIu64, (uint64_t)uffdio_api.api); in userfaultfd_open()
254 *features = uffdio_api.features; in userfaultfd_open()
695 struct uffdio_api uffdio_api = { .api = UFFD_API, .features = 0 }; in uffd_get_features() local
709 if (ioctl(fd, UFFDIO_API, &uffdio_api)) { in uffd_get_features()
714 *features = uffdio_api.features; in uffd_get_features()
H A Dmkdirty.c273 struct uffdio_api uffdio_api; in test_uffdio_copy() local
294 uffdio_api.api = UFFD_API; in test_uffdio_copy()
295 uffdio_api.features = 0; in test_uffdio_copy()
296 if (ioctl(uffd, UFFDIO_API, &uffdio_api) < 0) { in test_uffdio_copy()
H A Dksm_functional_tests.c377 struct uffdio_api uffdio_api; in test_unmerge_uffd_wp() local
395 uffdio_api.api = UFFD_API; in test_unmerge_uffd_wp()
396 uffdio_api.features = UFFD_FEATURE_PAGEFAULT_FLAG_WP; in test_unmerge_uffd_wp()
397 if (ioctl(uffd, UFFDIO_API, &uffdio_api) < 0) { in test_unmerge_uffd_wp()
401 if (!(uffdio_api.features & UFFD_FEATURE_PAGEFAULT_FLAG_WP)) { in test_unmerge_uffd_wp()
H A Duffd-unit-tests.c131 struct uffdio_api uffdio_api; in test_uffd_api() local
147 uffdio_api.api = 0xab; in test_uffd_api()
148 uffdio_api.features = 0; in test_uffd_api()
149 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == 0) { in test_uffd_api()
155 uffdio_api.api = UFFD_API; in test_uffd_api()
156 uffdio_api.features = BIT_ULL(63); in test_uffd_api()
157 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == 0) { in test_uffd_api()
163 uffdio_api.api = UFFD_API; in test_uffd_api()
164 uffdio_api.features = 0; in test_uffd_api()
165 if (ioctl(uffd, UFFDIO_API, &uffdio_api)) { in test_uffd_api()
[all …]
H A Dpagemap_ioctl.c94 struct uffdio_api uffdio_api; in init_uffd() local
100 uffdio_api.api = UFFD_API; in init_uffd()
101 uffdio_api.features = UFFD_FEATURE_WP_UNPOPULATED | UFFD_FEATURE_WP_ASYNC | in init_uffd()
103 if (ioctl(uffd, UFFDIO_API, &uffdio_api)) in init_uffd()
106 if (!(uffdio_api.api & UFFDIO_REGISTER_MODE_WP) || in init_uffd()
107 !(uffdio_api.features & UFFD_FEATURE_WP_UNPOPULATED) || in init_uffd()
108 !(uffdio_api.features & UFFD_FEATURE_WP_ASYNC) || in init_uffd()
109 !(uffdio_api.features & UFFD_FEATURE_WP_HUGETLBFS_SHMEM)) in init_uffd()
H A Dguard-regions.c1443 struct uffdio_api api = { in TEST_F()
/linux-6.15/tools/testing/selftests/kvm/lib/
H A Duserfaultfd_util.c110 struct uffdio_api uffdio_api; in uffd_setup_demand_paging() local
140 uffdio_api.api = UFFD_API; in uffd_setup_demand_paging()
141 uffdio_api.features = 0; in uffd_setup_demand_paging()
142 TEST_ASSERT(ioctl(uffd, UFFDIO_API, &uffdio_api) != -1, in uffd_setup_demand_paging()
144 (uint64_t)uffdio_api.api); in uffd_setup_demand_paging()
/linux-6.15/tools/testing/selftests/powerpc/tm/
H A Dtm-signal-pagefault.c141 struct uffdio_api uffdio_api; in setup_uf_mem() local
153 uffdio_api.api = UFFD_API; in setup_uf_mem()
154 uffdio_api.features = 0; in setup_uf_mem()
155 if (ioctl(uffd, UFFDIO_API, &uffdio_api) == -1) { in setup_uf_mem()
/linux-6.15/fs/
H A Duserfaultfd.c1947 struct uffdio_api uffdio_api; in userfaultfd_api() local
1954 if (copy_from_user(&uffdio_api, buf, sizeof(uffdio_api))) in userfaultfd_api()
1956 features = uffdio_api.features; in userfaultfd_api()
1958 if (uffdio_api.api != UFFD_API) in userfaultfd_api()
1969 uffdio_api.features = UFFD_API_FEATURES; in userfaultfd_api()
1971 uffdio_api.features &= in userfaultfd_api()
1984 if (features & ~uffdio_api.features) in userfaultfd_api()
1987 uffdio_api.ioctls = UFFD_API_IOCTLS; in userfaultfd_api()
1989 if (copy_to_user(buf, &uffdio_api, sizeof(uffdio_api))) in userfaultfd_api()
2002 memset(&uffdio_api, 0, sizeof(uffdio_api)); in userfaultfd_api()
[all …]
/linux-6.15/tools/include/uapi/linux/
H A Duserfaultfd.h87 struct uffdio_api)
162 struct uffdio_api { struct
/linux-6.15/include/uapi/linux/
H A Duserfaultfd.h87 struct uffdio_api)
162 struct uffdio_api { struct
/linux-6.15/tools/testing/selftests/x86/
H A Dtest_shadow_stack.c485 struct uffdio_api uffdio_api; in test_userfaultfd() local
504 uffdio_api.api = UFFD_API; in test_userfaultfd()
505 uffdio_api.features = 0; in test_userfaultfd()
506 if (ioctl(uffd, UFFDIO_API, &uffdio_api)) in test_userfaultfd()
/linux-6.15/Documentation/admin-guide/mm/
H A Duserfaultfd.rst87 ``UFFDIO_API`` ioctl specifying a ``uffdio_api.api`` value set to ``UFFD_API`` (or
89 userland intends to speak on the ``UFFD`` and the ``uffdio_api.features``
91 requested ``uffdio_api.api`` is spoken also by the running kernel and the
93 ``uffdio_api.features`` and ``uffdio_api.ioctls`` two 64bit bitmasks of
97 The ``uffdio_api.features`` bitmask returned by the ``UFFDIO_API`` ioctl
124 ioctl should be invoked (if present in the returned ``uffdio_api.ioctls``
371 bits in ``uffdio_api.features`` passed to ``UFFDIO_API`` ioctl:
/linux-6.15/tools/testing/selftests/bpf/prog_tests/
H A Dbpf_mod_race.c66 struct uffdio_api uffd_api = {}; in test_setup_uffd()