Documented in 2 files:
Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 2 files:
Smatch caller information:
fs/proc/base.c environ_read() -> access_remote_vm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->arg_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->env_end | 1-u64max |
| PARAM_VALUE | 0 | mm->mm_users.counter | 0-s32max |
| 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 | buf | 4096-ptr_max |
| PARAM_VALUE | 3 | len | 0-4096 |
| PARAM_VALUE | 4 | gup_flags | 128 |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | buf | 4096 |
| CAPPED_DATA | 3 | len | 1 |
| DATA_SOURCE | 2 | buf | r _kmalloc_noprof |
| USER_DATA | 3 | len | 2-4096[c] |
fs/proc/base.c get_mm_cmdline() -> access_remote_vm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->arg_end | 1-u64max |
| PARAM_VALUE | 0 | mm->arg_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->arg_start | 0-18446744073709551614 |
| PARAM_VALUE | 0 | mm->env_end | 1-u64max |
| PARAM_VALUE | 2 | buf | 6756192673616637952 |
| PARAM_VALUE | 3 | len | 1 |
| PARAM_VALUE | 4 | gup_flags | 128 |
| CAPPED_DATA | 1 | addr | 1 |
| DATA_SOURCE | 0 | mm | $0 |
fs/proc/base.c get_mm_cmdline() -> access_remote_vm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->arg_end | 1-u64max |
| PARAM_VALUE | 0 | mm->arg_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->arg_start | 0-18446744073709551614 |
| PARAM_VALUE | 0 | mm->env_end | 1-u64max |
| 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 | buf | 4096-ptr_max |
| PARAM_VALUE | 3 | len | 1-4096 |
| PARAM_VALUE | 4 | gup_flags | 128 |
| BUF_SIZE | 2 | buf | 4096 |
| CAPPED_DATA | 3 | len | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 2 | buf | r _kmalloc_noprof |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| USER_DATA | 1 | addr | 0-3147483647[c] |
| USER_DATA | 3 | len | 2-4096[c] |
fs/proc/base.c get_mm_proctitle() -> access_remote_vm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->arg_end | 1-u64max |
| PARAM_VALUE | 0 | mm->arg_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->arg_start | 0-18446744073709551614 |
| PARAM_VALUE | 0 | mm->env_end | 1-u64max |
| 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 | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | addr | 0-18446744073709551614 |
| PARAM_VALUE | 2 | buf | 4096-ptr_max |
| PARAM_VALUE | 3 | len | 4096 |
| PARAM_VALUE | 4 | gup_flags | 128 |
| BUF_SIZE | 2 | buf | 4096 |
| CAPPED_DATA | 1 | addr | 1 |
| CAPPED_DATA | 1 | addr | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | addr | $4 |
| DATA_SOURCE | 2 | buf | r _kmalloc_noprof |
| UNITS | 3 | len | unit_byte |
fs/proc/base.c mem_rw() -> access_remote_vm()
| 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.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | buf | 4096-ptr_max |
| PARAM_VALUE | 3 | len | 1-4096 |
| PARAM_VALUE | 4 | gup_flags | 0-1,8-9 |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | mm | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | buf | 4096 |
| CAPPED_DATA | 0 | mm | 1 |
| CAPPED_DATA | 3 | len | 1 |
| DATA_SOURCE | 2 | buf | r _kmalloc_noprof |
| FUZZY_MAX | 4 | gup_flags | 1 |
| BIT_INFO | 4 | gup_flags | 0x0,0x9 |
| USER_DATA | 1 | addr | 0-1000004095 |
| USER_DATA | 3 | len | 2-4095[c] |
| USER_PTR | 2 | buf |
kernel/ptrace.c ptrace_access_vm() -> access_remote_vm()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 3 | len | 1-128 |
| PARAM_VALUE | 4 | gup_flags | 8-9 |
| BUF_SIZE | 2 | buf | 4,8,128 |
| BUF_SIZE | 2 | buf | 4,8,128 |
| CAPPED_DATA | 3 | len | 1 |
| DATA_SOURCE | 0 | mm | r get_task_mm |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | buf | $2 |
| DATA_SOURCE | 3 | len | $3 |
| DATA_SOURCE | 4 | gup_flags | $4 |
| FUZZY_MAX | 3 | len | 128 |
| HARD_MAX | 4 | gup_flags | 9 |
| USER_DATA | 1 | addr | 0-u64max |
| UNITS | 3 | len | unit_byte |
| USER_PTR | 2 | buf |