Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/bpf/lpm_trie.c trie_delete_elem() -> longest_prefix_match()

Type Parameter Key Value
PARAM_VALUE 0 trie 4096-ptr_max
PARAM_VALUE 1 node 1-u64max
PARAM_VALUE 2 key 4096-ptr_max
BUF_SIZE 2 key (-1)-s32max
BUF_SIZE 2 key (-1)-s32max
CAPPED_DATA 0 &trie->lock 1
CAPPED_DATA 2 key->prefixlen 1
DATA_SOURCE 2 key $1
PARAM_COMPARE 2 key->prefixlen <= $0->max_prefixlen
PREEMPT_ADD <- disables preempt
USER_DATA 2 key->hdr.prefixlen 0-u32max[u]
USER_DATA 2 key->prefixlen 0-s32max[c]
USER_PTR 2 key
LOCK2 irq_flags
HALF_LOCKED2 rcu_read

kernel/bpf/lpm_trie.c trie_get_next_key() -> longest_prefix_match()

Type Parameter Key Value
PARAM_VALUE 0 trie 4096-ptr_max
PARAM_VALUE 0 trie->root 1-u64max
PARAM_VALUE 1 node 1-u64max
PARAM_VALUE 2 key 4096-ptr_max
BUF_SIZE 2 key (-1)-s32max
BUF_SIZE 2 key (-1)-s32max
CAPPED_DATA 2 key->prefixlen 1
DATA_SOURCE 2 key $1
PARAM_COMPARE 2 key->prefixlen <= $0->max_prefixlen
NOSPEC 2 key->prefixlen
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 key->hdr.prefixlen 0-u32max[u]
USER_DATA 2 key->prefixlen 0-s32max[c]
USER_PTR 2 key
LOCK2 rcu_read
HALF_LOCKED2 &m->lock

kernel/bpf/lpm_trie.c trie_update_elem() -> longest_prefix_match()

Type Parameter Key Value
PARAM_VALUE 0 trie 4096-ptr_max
PARAM_VALUE 1 node 1-u64max
PARAM_VALUE 2 key 4096-ptr_max
BUF_SIZE 2 key (-1)-s32max
BUF_SIZE 2 key (-1)-s32max
CAPPED_DATA 0 &trie->lock 1
CAPPED_DATA 2 key->prefixlen 1
DATA_SOURCE 2 key $1
PARAM_COMPARE 2 key->prefixlen <= $0->max_prefixlen
PREEMPT_ADD <- disables preempt
USER_DATA 2 key->hdr.prefixlen 0-u32max[u]
USER_DATA 2 key->prefixlen 0-s32max[c]
USER_PTR 2 key
LOCK2 irq_flags