Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/bpf/hashtab.c bpf_for_each_hash_elem() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max

kernel/bpf/hashtab.c check_and_cancel_fields() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
BUF_SIZE 0 htab (-1),1-s32max
BUF_SIZE 0 htab (-1),1-s32max
DATA_SOURCE 0 htab $0
PREEMPT_ADD
HALF_LOCKED2 flags

kernel/bpf/hashtab.c htab_free_elems() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
BUF_SIZE 0 htab (-1)-s32max
BUF_SIZE 0 htab (-1)-s32max
BUF_SIZE 0 htab->buckets (-1)-s32max
BUF_SIZE 0 htab->elems (-1)-s32max
DATA_SOURCE 0 htab $0
NO_OVERFLOW_SIMPLE 0 htab->map.max_entries
NO_OVERFLOW_SIMPLE 0 htab->n_buckets

kernel/bpf/hashtab.c htab_free_prealloced_fields() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
DATA_SOURCE 0 htab $0

kernel/bpf/hashtab.c htab_has_extra_elems() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
BUF_SIZE 0 htab (-1)-s32max
BUF_SIZE 0 htab (-1)-s32max
BUF_SIZE 0 htab->buckets (-1)-s32max
DATA_SOURCE 0 htab $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 htab->map.max_entries
NO_OVERFLOW_SIMPLE 0 htab->n_buckets
HALF_LOCKED2 &m->lock

kernel/bpf/hashtab.c htab_map_check_btf() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max

kernel/bpf/hashtab.c htab_map_mem_usage() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/hashtab.c prealloc_init() -> htab_is_percpu()

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
PARAM_VALUE 0 htab->map.map_type 0-35
BUF_SIZE 0 htab (-1)-s32max
BUF_SIZE 0 htab (-1)-s32max
BUF_SIZE 0 htab->buckets (-1)-s32max
BUF_SIZE 0 htab->elems (-1)-s32max
CAPPED_DATA 0 htab->n_buckets 1
DATA_SOURCE 0 htab $0
NO_OVERFLOW_SIMPLE 0 htab->map.max_entries
NO_OVERFLOW_SIMPLE 0 htab->n_buckets