Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/bpf/devmap.c __dev_map_hash_lookup_elem() -> dev_map_index_hash()

Type Parameter Key Value
PARAM_VALUE 0 dtab 4096-ptr_max
DATA_SOURCE 1 idx $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 idx s32min-s32max
HALF_LOCKED2 &dtab->index_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

kernel/bpf/devmap.c __dev_map_hash_update_elem() -> dev_map_index_hash()

Type Parameter Key Value
PARAM_VALUE 0 dtab 4096-ptr_max
PREEMPT_ADD <- disables preempt
USER_DATA 1 idx s32min-s32max
LOCK2 flags
LOCK2 0 &dtab->index_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct bpf_dtab)->index_lock

kernel/bpf/devmap.c dev_map_enqueue_multi() -> dev_map_index_hash()

Type Parameter Key Value
PARAM_VALUE 0 dtab 4096-ptr_max
PARAM_VALUE 0 dtab->n_buckets 1-u32max
CAPPED_DATA 1 idx 1
PARAM_COMPARE 0 dtab->n_buckets > $1
PARAM_COMPARE 1 idx < $0->n_buckets
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

kernel/bpf/devmap.c dev_map_free() -> dev_map_index_hash()

Type Parameter Key Value
PARAM_VALUE 0 dtab 4096-ptr_max
PARAM_VALUE 0 dtab->n_buckets 1-u32max
CAPPED_DATA 1 idx 1
PARAM_COMPARE 0 dtab->n_buckets > $1
PARAM_COMPARE 1 idx < $0->n_buckets

kernel/bpf/devmap.c dev_map_hash_get_next_key() -> dev_map_index_hash()

Type Parameter Key Value
PARAM_VALUE 0 dtab 4096-ptr_max
PARAM_VALUE 0 dtab->n_buckets 1-u32max
PARAM_VALUE 1 idx s32min-(-2),0-s32max
CAPPED_DATA 1 idx 1
PARAM_COMPARE 0 dtab->n_buckets > $1
PARAM_COMPARE 1 idx < $0->n_buckets
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 idx 1-s32max[c]
LOCK2 rcu_read
HALF_LOCKED2 &m->lock

kernel/bpf/devmap.c dev_map_hash_remove_netdev() -> dev_map_index_hash()

Type Parameter Key Value
PARAM_VALUE 0 dtab 4096-ptr_max
PARAM_VALUE 0 dtab->n_buckets 1-u32max
CAPPED_DATA 1 idx 1
DATA_SOURCE 0 dtab $0
PARAM_COMPARE 0 dtab->n_buckets > $1
PARAM_COMPARE 1 idx < $0->n_buckets
PREEMPT_ADD <- disables preempt
LOCK2 flags
LOCK2 rcu_read
LOCK2 0 &dtab->index_lock
TYPE_LOCK (struct bpf_dtab)->index_lock

kernel/bpf/devmap.c dev_map_redirect_multi() -> dev_map_index_hash()

Type Parameter Key Value
PARAM_VALUE 0 dtab 4096-ptr_max
PARAM_VALUE 0 dtab->n_buckets 1-u32max
CAPPED_DATA 1 idx 1
PARAM_COMPARE 0 dtab->n_buckets > $1
PARAM_COMPARE 1 idx < $0->n_buckets
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read