alloc_area
r = alloc_area(ps);
r = alloc_area(ps);
static int shmem_allocate_area(uffd_global_test_opts_t *gopts, void **alloc_area, bool is_src)
*alloc_area = mmap(p, bytes, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED,
if (*alloc_area == MAP_FAILED) {
*alloc_area = NULL;
if (*alloc_area != p)
*alloc_area = NULL;
static int anon_allocate_area(uffd_global_test_opts_t *gopts, void **alloc_area, bool is_src)
*alloc_area = mmap(NULL, gopts->nr_pages * gopts->page_size, PROT_READ | PROT_WRITE,
if (*alloc_area == MAP_FAILED) {
*alloc_area = NULL;
static int hugetlb_allocate_area(uffd_global_test_opts_t *gopts, void **alloc_area, bool is_src)
*alloc_area = mmap(NULL, size, PROT_READ | PROT_WRITE,
if (*alloc_area == MAP_FAILED) {
*alloc_area = NULL;
int (*allocate_area)(uffd_global_test_opts_t *gopts, void **alloc_area, bool is_src);