Defined in 1 files as a prototype:

Defined in 3 files as a macro:

Defined in 3 files as a function:

Referenced in 16 files:

Smatch caller information:

arch/x86/kernel/machine_kexec_64.c machine_kexec_prepare() -> set_memory_rox()

Type Parameter Key Value
PARAM_VALUE 0 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 1 numpages 1
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r lowmem_page_address
NOCHECK_CALL

arch/x86/kernel/ftrace.c create_trampoline() -> set_memory_rox()

Type Parameter Key Value
PARAM_VALUE 0 addr 1-u64max
PARAM_VALUE 1 numpages 698908,733969,954348,989409
DATA_SOURCE 0 addr r alloc_tramp
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &ftrace_lock

kernel/bpf/trampoline.c arch_protect_bpf_trampoline() -> set_memory_rox()

Type Parameter Key Value
PARAM_VALUE 1 numpages 1
DATA_SOURCE 0 addr $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &st_map->lock

mm/execmem.c execmem_cache_populate_alloc() -> set_memory_rox()

Type Parameter Key Value
PARAM_VALUE 0 addr 1-u64max
BUF_SIZE 0 addr s32min-s32max
CAPPED_DATA 0 addr 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock

mm/execmem.c execmem_restore_rox() -> set_memory_rox()

Type Parameter Key Value
DATA_SOURCE 0 addr $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 addr unit_byte
UNITS 1 numpages unit_page
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &module_mutex

kernel/bpf/core.c alloc_new_pack() -> set_memory_rox()

Type Parameter Key Value
PARAM_VALUE 0 addr 1-u64max
BUF_SIZE 0 addr s32min-s32max
CAPPED_DATA 0 addr 1
DATA_SOURCE 0 addr r bpf_jit_alloc_exec
RX_PATH
TASK_NOT_RUNNING
UNITS 1 numpages unit_page
LOCK2 global &pack_mutex
HALF_LOCKED2 &d->mutex

kernel/bpf/core.c bpf_prog_pack_alloc() -> set_memory_rox()

Type Parameter Key Value
PARAM_VALUE 0 addr 1-u64max
PARAM_VALUE 1 numpages 0-1048575
BUF_SIZE 0 addr s32min-s32max
CAPPED_DATA 0 addr 1
CAPPED_DATA 1 numpages 1
DATA_SOURCE 0 addr r bpf_jit_alloc_exec
RX_PATH
TASK_NOT_RUNNING
UNITS 1 numpages unit_page
LOCK2 global &pack_mutex
HALF_LOCKED2 &d->mutex

kernel/module/strict_rwx.c module_set_memory() -> module_set_memory param 2()

Type Parameter Key Value
PARAM_VALUE 0 addr 1-u64max
PARAM_VALUE 1 numpages 0-1048575
CAPPED_DATA 0 addr 1
UNITS 1 numpages unit_page
LOCK2 global &module_mutex