Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/core/filter.c __bpf_prog_release() -> bpf_prog_free()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->orig_prog 0,4096-ptr_max
PARAM_VALUE 0 fp->type 0,2-u32max
BUF_SIZE 0 fp (-1)-s32max
BUF_SIZE 0 fp (-1)-s32max
CAPPED_DATA 0 fp->orig_prog 1
DATA_SOURCE 0 fp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 fp->aux->prog->len 1-4096[c]
USER_DATA 0 fp->len 1-4096[c]
NO_OVERFLOW_SIMPLE 0 fp->aux->offload->prog->len
USER_PTR 0 fp->insns

net/core/filter.c sk_reuseport_prog_free_rcu() -> bpf_prog_free()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->orig_prog 0,4096-ptr_max
CAPPED_DATA 0 fp->orig_prog 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

kernel/bpf/syscall.c __bpf_prog_put_rcu() -> bpf_prog_free()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->aux 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

kernel/bpf/syscall.c bpf_prog_load() -> bpf_prog_free()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->active 4096-ptr_max
PARAM_VALUE 0 fp->aux 4096-ptr_max
PARAM_VALUE 0 fp->aux->attach_btf 0,4096-ptr_max
PARAM_VALUE 0 fp->aux->attach_btf->refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 fp->aux->attach_btf_id 0-1048575
PARAM_VALUE 0 fp->aux->dst_mutex.dep_map->name 0-255
PARAM_VALUE 0 fp->aux->dst_mutex.first_waiter 0
PARAM_VALUE 0 fp->aux->dst_mutex.magic 4096-ptr_max
PARAM_VALUE 0 fp->aux->dst_mutex.osq.tail.counter 0
PARAM_VALUE 0 fp->aux->dst_mutex.owner.counter 0
PARAM_VALUE 0 fp->aux->dst_prog 0,4096-ptr_max
PARAM_VALUE 0 fp->aux->ext_mutex.dep_map->name 0-255
PARAM_VALUE 0 fp->aux->ext_mutex.first_waiter 0
PARAM_VALUE 0 fp->aux->ext_mutex.magic 4096-ptr_max
PARAM_VALUE 0 fp->aux->ext_mutex.osq.tail.counter 0
PARAM_VALUE 0 fp->aux->ext_mutex.owner.counter 0
PARAM_VALUE 0 fp->aux->ksym.lnode.next 4096-ptr_max
PARAM_VALUE 0 fp->aux->ksym.lnode.next->next 4096-ptr_max
PARAM_VALUE 0 fp->aux->ksym.lnode.prev 4096-ptr_max
PARAM_VALUE 0 fp->aux->ksym.lnode.prev->next 4096-ptr_max
PARAM_VALUE 0 fp->aux->ksym.lnode.prev->prev 4096-ptr_max
PARAM_VALUE 0 fp->aux->main_prog_aux 4096-ptr_max
PARAM_VALUE 0 fp->aux->prog 4096-ptr_max
PARAM_VALUE 0 fp->aux->prog->active 4096-ptr_max
PARAM_VALUE 0 fp->aux->prog->aux 4096-ptr_max
PARAM_VALUE 0 fp->aux->st_ops_assoc_mutex.dep_map->name 0-255
PARAM_VALUE 0 fp->aux->st_ops_assoc_mutex.magic 4096-ptr_max
PARAM_VALUE 0 fp->aux->token 0,4096-ptr_max
PARAM_VALUE 0 fp->aux->used_maps_mutex.dep_map->name 0-255
PARAM_VALUE 0 fp->aux->used_maps_mutex.first_waiter 0
PARAM_VALUE 0 fp->aux->used_maps_mutex.magic 4096-ptr_max
PARAM_VALUE 0 fp->aux->user 4096-ptr_max
PARAM_VALUE 0 fp->aux->user->uidhash_node->next->pprev 1-u64max
PARAM_VALUE 0 fp->aux->user->uidhash_node.next->pprev 1-u64max
PARAM_VALUE 0 fp->blinding_requested 0
PARAM_VALUE 0 fp->expected_attach_type 0-58
PARAM_VALUE 0 fp->jit_requested 1
PARAM_VALUE 0 fp->jit_required 1
PARAM_VALUE 0 fp->len 1-1000000
PARAM_VALUE 0 fp->stats 4096-ptr_max
BUF_SIZE 0 fp 0-s32max
BUF_SIZE 0 fp 0-s32max
BUF_SIZE 0 fp->aux->attach_btf s32min-(-2),0-s32max
BUF_SIZE 0 fp->aux->dst_prog s32min-(-2),0-s32max
BUF_SIZE 0 fp->aux->token s32min-(-2),0-s32max
CAPPED_DATA 0 fp->aux->user 1
CAPPED_DATA 0 fp->len 1
DATA_SOURCE 0 fp r bpf_prog_alloc
FUZZY_MAX 0 fp->len 1000000
NOCHECK_CALL
USER_DATA 0 fp->insns->code 0-u16max
USER_DATA 0 fp->insns->jf 0-255
USER_DATA 0 fp->insns->jt 0-255
USER_DATA 0 fp->insns->k 0-u32max
USER_DATA 0 *fp->insns s64min-s64max
USER_PTR 0 fp->insns

lib/test_bpf.c destroy_tail_call_tests() -> bpf_prog_free()

Type Parameter Key Value
PARAM_VALUE 0 fp 1-u64max
BUF_SIZE 0 fp 1-s32max
NOCHECK_CALL

lib/test_bpf.c release_filter() -> bpf_prog_free()

Type Parameter Key Value
PARAM_VALUE 0 fp 4096-ptr_max
PARAM_VALUE 0 fp->aux->sig.keyring_type 0-4
PARAM_VALUE 0 fp->aux->sig.verdict 0-1
BUF_SIZE 0 fp (-1)-s32max
BUF_SIZE 0 fp (-1)-s32max
DATA_SOURCE 0 fp $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 fp->aux->offload->prog->len
NO_OVERFLOW_SIMPLE 0 fp->len