uffdio_register
struct uffdio_register uffdio_register;
struct uffdio_register __user *user_uffdio_register;
user_uffdio_register = (struct uffdio_register __user *) arg;
if (copy_from_user(&uffdio_register, user_uffdio_register,
sizeof(uffdio_register)-sizeof(__u64)))
if (!uffdio_register.mode)
if (uffdio_register.mode & ~UFFD_API_REGISTER_MODES)
if (uffdio_register.mode & UFFDIO_REGISTER_MODE_MISSING)
if (uffdio_register.mode & UFFDIO_REGISTER_MODE_WP) {
if (uffdio_register.mode & UFFDIO_REGISTER_MODE_MINOR) {
ret = validate_range(mm, uffdio_register.range.start,
uffdio_register.range.len);
start = uffdio_register.range.start;
end = start + uffdio_register.range.len;
if (!(uffdio_register.mode & UFFDIO_REGISTER_MODE_WP))
if (!(uffdio_register.mode & UFFDIO_REGISTER_MODE_MINOR))
struct uffdio_register)
struct uffdio_register)
struct uffdio_register uffd_register = {};
struct uffdio_register uffdio_register;
uffdio_register.range.start = (uint64_t)hva;
uffdio_register.range.len = len;
uffdio_register.mode = uffd_mode;
TEST_ASSERT(ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) != -1,
TEST_ASSERT((uffdio_register.ioctls & expected_ioctls) ==
struct uffdio_register reg;
struct uffdio_register uffdio_register;
uffdio_register.range.start = (unsigned long) dst;
uffdio_register.range.len = pagesize;
uffdio_register.mode = UFFDIO_REGISTER_MODE_MISSING;
if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register)) {
struct uffdio_register reg = {
struct uffdio_register uffdio_register;
uffdio_register.range.start = (unsigned long)lpBaseAddress;
uffdio_register.range.len = dwRegionSize;
uffdio_register.mode = UFFDIO_REGISTER_MODE_WP;
if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register))
if (!(uffdio_register.ioctls & UFFDIO_WRITEPROTECT))
struct uffdio_register uffdio_register;
uffdio_register.range.start = (unsigned long)lpBaseAddress;
uffdio_register.range.len = dwRegionSize;
uffdio_register.mode = UFFDIO_REGISTER_MODE_WP;
if (ioctl(uffd, UFFDIO_UNREGISTER, &uffdio_register.range))
struct uffdio_register uffd_reg;
struct uffdio_register uffdio_register = { 0 };
uffdio_register.range.start = (unsigned long)addr;
uffdio_register.range.len = len;
uffdio_register.mode = mode;
if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) == -1)
*ioctls = uffdio_register.ioctls;
struct uffdio_register uffdio_register;
uffdio_register.range.start = (unsigned long) uf_mem;
uffdio_register.range.len = UF_MEM_SIZE;
uffdio_register.mode = UFFDIO_REGISTER_MODE_MISSING;
if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register) == -1) {
struct uffdio_register uffdio_register;
uffdio_register.range.start = (__u64)shstk_ptr;
uffdio_register.range.len = 4096;
uffdio_register.mode = UFFDIO_REGISTER_MODE_MISSING;
if (ioctl(uffd, UFFDIO_REGISTER, &uffdio_register))