Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 7 files:
- drivers/android/binder_alloc.c, line 247
- fs/exec.c, line 165
- include/linux/mm.h, line 3356
- kernel/events/uprobes.c
- mm/gup.c, line 2613
- security/tomoyo/domain.c, line 928
- virt/kvm/async_pf.c, line 67
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 |