Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 7 files:

Smatch caller information:

arch/x86/kvm/../../../virt/kvm/async_pf.c async_pf_execute() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mm_users.counter 0-s32max
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 1
PARAM_VALUE 4 pages 0
PARAM_VALUE 5 locked 8338877769233395712
PARAM_VALUE 5 *locked 1
NOCHECK_CALL
UNITS 0 mm unit_byte
LOCK2 0 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/rmap.c get_user_page_vma_remote() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mm_users.counter 0-s32max
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 start 0,4096-u64max
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 515
PARAM_VALUE 4 pages 5687911967078838272
PARAM_VALUE 5 locked 0
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 start $1
DATA_SOURCE 3 gup_flags $2
BIT_INFO 1 start 0x0,0xfffffffffffff000
BIT_INFO 1 start 0x0,0xfffffffffffff000
NOSPEC 1 start
NOSPEC 1 start
USER_DATA 1 start 0,4096-u64max[c]
UNITS 0 mm unit_byte
UNITS 1 start unit_byte
LOCK2 0 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

arch/x86/kernel/uprobes.c get_user_page_vma_remote() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 520
PARAM_VALUE 4 pages 3835665634111938560
PARAM_VALUE 5 locked 0
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 start $1
DATA_SOURCE 3 gup_flags $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 mm unit_byte
UNITS 1 start unit_byte
HALF_LOCKED2 0 &mm->mmap_lock

drivers/android/binder_alloc.c binder_page_lookup() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mm_users.counter 0-s32max
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 start 0,4096-18446744073709551614
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 32
PARAM_VALUE 4 pages 930055340090826752
PARAM_VALUE 5 locked 0
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
DATA_SOURCE 1 start $1
UNITS 0 mm unit_byte
UNITS 1 start unit_byte
LOCK2 0 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/memory.c get_user_page_vma_remote() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 0-1,8-9,128
PARAM_VALUE 4 pages 6779131511657693184
PARAM_VALUE 5 locked 0
BUF_SIZE 0 mm s32min-(-1),1-s32max
BUF_SIZE 0 mm s32min-(-1),1-s32max
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 start $1
DATA_SOURCE 3 gup_flags $2
BIT_INFO 3 gup_flags 0x0,0xef
NOSPEC 1 start
NOSPEC 1 start
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 start 0-u64max[c]
LOCK2 0 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

security/tomoyo/domain.c tomoyo_dump_page() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 8
PARAM_VALUE 4 pages 1713282892376625152
PARAM_VALUE 5 locked 0
DATA_SOURCE 1 start $1
LOCK2 global &tomoyo_ss
LOCK2 0 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

kernel/events/uprobes.c __update_ref_ctr() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 start 1-u64max
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 1
PARAM_VALUE 4 pages 4206413950386417664
PARAM_VALUE 5 locked 0
CAPPED_DATA 0 mm 1
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 start $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 mm unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &delayed_uprobe_lock

kernel/events/uprobes.c uprobe_write() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 start 0,4096-u64max
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 8,521
PARAM_VALUE 4 pages 5013310585079357440
PARAM_VALUE 5 locked 0
FUZZY_MAX 3 gup_flags 8
BIT_INFO 1 start 0x0,0xfffffffffffff000
BIT_INFO 1 start 0x0,0xfffffffffffff000
BIT_INFO 3 gup_flags 0x8,0x209
RX_PATH
TASK_NOT_RUNNING
UNITS 0 mm unit_byte
UNITS 1 start unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &uprobe->register_rwsem

fs/exec.c get_arg_page() -> get_user_pages_remote()

Type Parameter Key Value
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 nr_pages 1
PARAM_VALUE 3 gup_flags 0-1
PARAM_VALUE 4 pages 2766404910732619776
PARAM_VALUE 5 locked 0
DATA_SOURCE 1 start $1
FUZZY_MAX 3 gup_flags 1
HARD_MAX 3 gup_flags 1
NO_OVERFLOW_SIMPLE 1 start
UNITS 1 start unit_byte
LOCK2 0 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock