Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

kernel/bpf/syscall.c bpf_prog_by_id() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 1-u64max
DATA_SOURCE 0 prog r idr_find
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 global &prog_idr_lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &rtnl_mutex

kernel/bpf/syscall.c bpf_prog_get_curr_or_next() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 1-u64max
DATA_SOURCE 0 prog r idr_get_next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 bh
LOCK2 global &prog_idr_lock
TYPE_LOCK (struct seq_file)->lock

net/core/sock_map.c sock_map_link() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 1-u64max
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

net/core/sock_map.c sock_map_link() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 1-u64max
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

net/core/sock_map.c sock_map_link() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 1-u64max
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

net/core/sock_map.c sock_map_link() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 1-u64max
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh

kernel/bpf/helpers.c bpf_async_update_prog_callback() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 1-u64max
DATA_SOURCE 0 prog $1
RX_PATH

kernel/bpf/helpers.c bpf_async_update_prog_callback() -> bpf_prog_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 prog 4096-ptr_max,(-2)
PARAM_VALUE 0 prog->aux 4096-ptr_max
CAPPED_DATA 0 prog 1
DATA_SOURCE 0 prog $1 [m]
RX_PATH

kernel/bpf/helpers.c bpf_task_work_schedule() -> bpf_prog_inc_not_zero()

Type Parameter Key Value