Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
PARAM_VALUE 0 htab->map.elem_count 4096-ptr_max
PARAM_VALUE 0 htab->map.ops 4096-ptr_max
PARAM_VALUE 1 elem 4096-ptr_max
DATA_SOURCE 0 htab $0
DATA_SOURCE 1 elem $1
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
PARAM_VALUE 0 htab->map.map_flags 1-u32max
PARAM_VALUE 1 elem 4096-ptr_max
DATA_SOURCE 0 htab $0
DATA_SOURCE 1 elem $1
PREEMPT_ADD
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
PARAM_VALUE 1 elem 4096-ptr_max
BUF_SIZE 0 htab 1-s32max
BUF_SIZE 0 htab 1-s32max
CAPPED_DATA 1 elem 1
DATA_SOURCE 0 htab $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags

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

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
PARAM_VALUE 0 htab->lru.nr_scans 4,128
PARAM_VALUE 1 elem 4096-ptr_max
DATA_SOURCE 0 htab $0
DATA_SOURCE 1 elem $1
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 htab 4096-ptr_max
PARAM_VALUE 0 htab->map.record 0,4096-u64max
PARAM_VALUE 0 htab->map.record->cnt 0-s32max
PARAM_VALUE 1 elem 4096-ptr_max
CAPPED_DATA 0 htab->map.record->cnt 1
CAPPED_DATA 1 elem->hash 1
DATA_SOURCE 1 elem r lookup_elem_raw
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 rcu_read