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