Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/bpf/syscall.c bpf_map_get_curr_or_next() -> __bpf_map_inc_not_zero()

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

kernel/bpf/syscall.c bpf_map_get_fd_by_id() -> __bpf_map_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 map 1-u64max
PARAM_VALUE 1 uref 1
DATA_SOURCE 0 map r idr_find
CAPABLE 0 21
PREEMPT_ADD <- disables preempt
LOCK2 bh
LOCK2 global &map_idr_lock

kernel/bpf/syscall.c bpf_map_inc_not_zero() -> __bpf_map_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 map 4096-ptr_max
PARAM_VALUE 1 uref 0
DATA_SOURCE 0 map $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &newsk->sk_lock.slock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

kernel/bpf/bpf_struct_ops.c bpf_struct_ops_get() -> __bpf_map_inc_not_zero()

Type Parameter Key Value
PARAM_VALUE 0 map 4096-ptr_max
PARAM_VALUE 1 uref 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &qdisc_mod_lock
HALF_LOCKED2 rcu_read