Defined in 2 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/xfrm/xfrm_state.c xfrm_state_find() -> km_query()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
PARAM_VALUE 0 x->bydst.next 0
PARAM_VALUE 0 x->bydst.pprev 0
PARAM_VALUE 0 x->byseq.next 0
PARAM_VALUE 0 x->byseq.pprev 0
PARAM_VALUE 0 x->byspi.next 0
PARAM_VALUE 0 x->byspi.pprev 0
PARAM_VALUE 0 x->bysrc.next 0
PARAM_VALUE 0 x->bysrc.pprev 0
PARAM_VALUE 0 x->km.all.next 4096-ptr_max
PARAM_VALUE 0 x->km.all.next->next 4096-ptr_max
PARAM_VALUE 0 x->km.all.prev 4096-ptr_max
PARAM_VALUE 0 x->km.all.prev->next 4096-ptr_max
PARAM_VALUE 0 x->km.all.prev->prev 4096-ptr_max
PARAM_VALUE 0 x->lft.hard_byte_limit u64max
PARAM_VALUE 0 x->lft.hard_packet_limit u64max
PARAM_VALUE 0 x->lft.soft_byte_limit u64max
PARAM_VALUE 0 x->lft.soft_packet_limit u64max
PARAM_VALUE 0 x->mode_data 0
PARAM_VALUE 0 x->mtimer._softexpires 0
PARAM_VALUE 0 x->mtimer.base 4096-ptr_max
PARAM_VALUE 0 x->mtimer.function 1-u64max
PARAM_VALUE 0 x->mtimer.is_hard 0
PARAM_VALUE 0 x->mtimer.is_lazy 0
PARAM_VALUE 0 x->mtimer.is_queued 0
PARAM_VALUE 0 x->mtimer.is_rel 0
PARAM_VALUE 0 x->mtimer.is_soft 0
PARAM_VALUE 0 x->mtimer.node.expires 0
PARAM_VALUE 0 x->mtimer.node.node.next 0
PARAM_VALUE 0 x->mtimer.node.node.node.rb_left 0
PARAM_VALUE 0 x->mtimer.node.node.node.rb_right 0
PARAM_VALUE 0 x->mtimer.node.node.prev 0
PARAM_VALUE 0 x->pcpu_num 0,u32max
PARAM_VALUE 0 x->refcnt.refs.counter 1
PARAM_VALUE 0 x->replay_maxage 0
PARAM_VALUE 0 x->replay_maxdiff 0
PARAM_VALUE 0 x->rtimer.entry.pprev 0
PARAM_VALUE 0 x->rtimer.flags 0-4194302
PARAM_VALUE 0 x->rtimer.lockdep_map->name 0-255
PARAM_VALUE 0 x->sel.dport_mask u16max
PARAM_VALUE 0 x->sel.prefixlen_d 32,128
PARAM_VALUE 0 x->sel.prefixlen_s 32,128
PARAM_VALUE 0 x->sel.sport_mask u16max
PARAM_VALUE 0 x->state_cache.next 0
PARAM_VALUE 0 x->state_cache.pprev 0
PARAM_VALUE 0 x->tunnel_users.counter 0
PARAM_VALUE 0 x->xs_net.net 4096-ptr_max
PARAM_VALUE 1 t 4096-ptr_max
PARAM_VALUE 2 pol 4096-ptr_max
PARAM_VALUE 2 pol->flags 4-255
PARAM_VALUE 2 pol->xfrm_nr 1-255
PARAM_VALUE 2 pol->xfrm_vec 4096-ptr_max
CAPPED_DATA 2 pol->xp_net.net 1
DATA_SOURCE 0 x r xfrm_state_alloc
DATA_SOURCE 1 t $3
DATA_SOURCE 2 pol $4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 bh

net/xfrm/xfrm_user.c xfrm_add_acquire() -> km_query()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
PARAM_VALUE 0 x->bydst.next 0
PARAM_VALUE 0 x->bydst.pprev 0
PARAM_VALUE 0 x->byseq.next 0
PARAM_VALUE 0 x->byseq.pprev 0
PARAM_VALUE 0 x->byspi.next 0
PARAM_VALUE 0 x->byspi.pprev 0
PARAM_VALUE 0 x->bysrc.next 0
PARAM_VALUE 0 x->bysrc.pprev 0
PARAM_VALUE 0 x->km.all.next 4096-ptr_max
PARAM_VALUE 0 x->km.all.next->next 4096-ptr_max
PARAM_VALUE 0 x->km.all.prev 4096-ptr_max
PARAM_VALUE 0 x->km.all.prev->next 4096-ptr_max
PARAM_VALUE 0 x->km.all.prev->prev 4096-ptr_max
PARAM_VALUE 0 x->lft.hard_byte_limit u64max
PARAM_VALUE 0 x->lft.hard_packet_limit u64max
PARAM_VALUE 0 x->lft.soft_byte_limit u64max
PARAM_VALUE 0 x->lft.soft_packet_limit u64max
PARAM_VALUE 0 x->mode_data 0
PARAM_VALUE 0 x->mtimer._softexpires 0
PARAM_VALUE 0 x->mtimer.base 4096-ptr_max
PARAM_VALUE 0 x->mtimer.function 1-u64max
PARAM_VALUE 0 x->mtimer.is_hard 0
PARAM_VALUE 0 x->mtimer.is_lazy 0
PARAM_VALUE 0 x->mtimer.is_queued 0
PARAM_VALUE 0 x->mtimer.is_rel 0
PARAM_VALUE 0 x->mtimer.is_soft 0
PARAM_VALUE 0 x->mtimer.node.expires 0
PARAM_VALUE 0 x->mtimer.node.node.next 0
PARAM_VALUE 0 x->mtimer.node.node.node.rb_left 0
PARAM_VALUE 0 x->mtimer.node.node.node.rb_right 0
PARAM_VALUE 0 x->mtimer.node.node.prev 0
PARAM_VALUE 0 x->pcpu_num 0-2147483646,u32max
PARAM_VALUE 0 x->refcnt.refs.counter 1
PARAM_VALUE 0 x->replay_maxage 0
PARAM_VALUE 0 x->replay_maxdiff 0
PARAM_VALUE 0 x->rtimer.entry.pprev 0
PARAM_VALUE 0 x->rtimer.flags 0-4194302
PARAM_VALUE 0 x->rtimer.lockdep_map->name 0-255
PARAM_VALUE 0 x->state_cache.next 0
PARAM_VALUE 0 x->state_cache.pprev 0
PARAM_VALUE 0 x->tunnel_users.counter 0
PARAM_VALUE 1 t 4096-ptr_max
PARAM_VALUE 2 pol 4096-ptr_max
PARAM_VALUE 2 pol->action 0-1
PARAM_VALUE 2 pol->bydst.next 0
PARAM_VALUE 2 pol->bydst.pprev 0
PARAM_VALUE 2 pol->byidx.next 0
PARAM_VALUE 2 pol->byidx.pprev 0
PARAM_VALUE 2 pol->family 2,10
PARAM_VALUE 2 pol->lock.magic 3736018669
PARAM_VALUE 2 pol->lock.owner (-1)
PARAM_VALUE 2 pol->lock.owner_cpu u32max
PARAM_VALUE 2 pol->polq.hold_queue.next 4096-ptr_max
PARAM_VALUE 2 pol->polq.hold_queue.prev 4096-ptr_max
PARAM_VALUE 2 pol->polq.hold_queue.qlen 0
PARAM_VALUE 2 pol->polq.hold_timer.entry.pprev 0
PARAM_VALUE 2 pol->polq.hold_timer.flags 0-4194302
PARAM_VALUE 2 pol->polq.hold_timer.lockdep_map->name 0-255
PARAM_VALUE 2 pol->refcnt.refs.counter 1
PARAM_VALUE 2 pol->selector.family 2,10
PARAM_VALUE 2 pol->selector.prefixlen_d 0-128
PARAM_VALUE 2 pol->selector.prefixlen_s 0-128
PARAM_VALUE 2 pol->timer.entry.pprev 0
PARAM_VALUE 2 pol->timer.flags 0-4194302
PARAM_VALUE 2 pol->timer.lockdep_map->name 0-255
PARAM_VALUE 2 pol->type 0-1
PARAM_VALUE 2 pol->walk.all.next 4096-ptr_max
PARAM_VALUE 2 pol->walk.all.next->next 4096-ptr_max
PARAM_VALUE 2 pol->walk.all.prev 4096-ptr_max
PARAM_VALUE 2 pol->walk.all.prev->next 4096-ptr_max
PARAM_VALUE 2 pol->walk.all.prev->prev 4096-ptr_max
PARAM_VALUE 2 pol->xfrm_nr 1-6
PARAM_VALUE 2 pol->xfrm_vec 4096-ptr_max
BUF_SIZE 2 pol 1064
CAPPED_DATA 0 x->pcpu_num 1
DATA_SOURCE 0 x r xfrm_state_alloc
DATA_SOURCE 2 pol r xfrm_policy_construct
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 x->props.family 0-u16max
USER_DATA 0 x->props.saddr.a4 0-u32max
USER_DATA 0 x->sel.dport 0-u16max
USER_DATA 0 x->sel.dport_mask 0-u16max
USER_DATA 0 x->sel.family 0-u16max
USER_DATA 0 x->sel.ifindex s32min-s32max
USER_DATA 0 x->sel.prefixlen_d 0-255
USER_DATA 0 x->sel.prefixlen_s 0-255
USER_DATA 0 x->sel.proto 0-255
USER_DATA 0 x->sel.sport 0-u16max
USER_DATA 0 x->sel.sport_mask 0-u16max
USER_DATA 0 x->sel.user 0-u32max
USER_DATA 1 t->aalgos 0-u32max
USER_DATA 1 t->calgos 0-u32max
USER_DATA 1 t->ealgos 0-u32max
USER_DATA 2 pol->action 0-1
USER_DATA 2 pol->family 2,10
USER_DATA 2 pol->flags 0-255
USER_DATA 2 pol->index 0-u32max
USER_DATA 2 pol->lft.hard_add_expires_seconds 0-u64max
USER_DATA 2 pol->lft.hard_byte_limit 0-u64max
USER_DATA 2 pol->lft.hard_packet_limit 0-u64max
USER_DATA 2 pol->lft.hard_use_expires_seconds 0-u64max
USER_DATA 2 pol->lft.soft_add_expires_seconds 0-u64max
USER_DATA 2 pol->lft.soft_byte_limit 0-u64max
USER_DATA 2 pol->lft.soft_packet_limit 0-u64max
USER_DATA 2 pol->lft.soft_use_expires_seconds 0-u64max
USER_DATA 2 pol->priority 0-u32max
USER_DATA 2 pol->selector.dport 0-u16max
USER_DATA 2 pol->selector.dport_mask 0-u16max
USER_DATA 2 pol->selector.family 2,10
USER_DATA 2 pol->selector.ifindex s32min-s32max
USER_DATA 2 pol->selector.prefixlen_d 0-128
USER_DATA 2 pol->selector.prefixlen_s 0-128
USER_DATA 2 pol->selector.proto 0-255
USER_DATA 2 pol->selector.sport 0-u16max
USER_DATA 2 pol->selector.sport_mask 0-u16max
USER_DATA 2 pol->selector.user 0-u32max
USER_DATA 2 pol->type 0-1
USER_DATA 2 pol->xfrm_nr 1-6[c]
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read