github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/linux/pagemap_ioctl.txt (about) 1 # Copyright 2023 syzkaller project authors. All rights reserved. 2 # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 3 4 include <uapi/linux/fs.h> 5 6 resource fd_pagemap[fd] 7 8 syz_open_procfs$pagemap(pid pid, file ptr[in, string["pagemap"]]) fd_pagemap 9 10 ioctl$PAGEMAP_SCAN(fd fd_pagemap, cmd const[PAGEMAP_SCAN], arg ptr[inout, pagemap_arg]) 11 12 page_region { 13 start int64 14 end int64 15 categories int64 16 } 17 18 pagemap_arg { 19 size bytesize[pagemap_arg, int64] 20 flags flags[pm_flags, int64] 21 start vma64 22 end vma64 23 walk_end int64 24 vec ptr64[in, array[page_region]] 25 vec_len len[vec, int64] 26 max_pages int64 27 category_inverted flags[categories, int64] 28 category_mask flags[categories, int64] 29 category_anyof_mask flags[categories, int64] 30 return_mask flags[categories, int64] 31 } 32 33 pm_flags = PM_SCAN_WP_MATCHING, PM_SCAN_CHECK_WPASYNC 34 categories = PAGE_IS_WPALLOWED, PAGE_IS_WRITTEN, PAGE_IS_FILE, PAGE_IS_PRESENT, PAGE_IS_SWAPPED, PAGE_IS_PFNZERO, PAGE_IS_HUGE