Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

net/core/sock.c xfrm_dst_offload_ok() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->xfrm 4096-ptr_max
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
CAPPED_DATA 0 dst->dev_rcu 1
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/ipv6/ip6_output.c ip6_setup_cork() -> xfrm_dst_path()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

net/xfrm/xfrm_device.c xfrm_dev_offload_ok() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 0,2-u64max
DATA_SOURCE 0 dst r skb_dst
RX_PATH
TASK_NOT_RUNNING

net/xfrm/xfrm_policy.c xfrm_bundle_ok() -> xfrm_dst_path()

Type Parameter Key Value
BUF_SIZE 0 dst 144
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 rcu_read

net/xfrm/xfrm_policy.c xfrm_confirm_neigh() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING

net/xfrm/xfrm_policy.c xfrm_default_advmss() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/xfrm/xfrm_policy.c xfrm_mtu() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
CAPPED_DATA 0 dst 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hba->net_dev_lock
HALF_LOCKED2 &ps->sk_lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk

net/xfrm/xfrm_policy.c xfrm_neigh_lookup() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &esw->offloads.encap_tbl_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tc_info->lock
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/xfrm/xfrm_policy.c xfrm_policy_queue_process() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst r skb_dst
RX_PATH
TASK_NOT_RUNNING

net/xfrm/xfrm_policy.c xfrm_policy_queue_process() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst r skb_dst
RX_PATH
TASK_NOT_RUNNING

net/xfrm/xfrm_policy.c xfrm_policy_queue_process() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 0,2-u64max
RX_PATH
TASK_NOT_RUNNING

net/xfrm/xfrm_policy.c xfrm_policy_queue_process() -> xfrm_dst_path()

Type Parameter Key Value
PARAM_VALUE 0 dst 0,2-u64max
RX_PATH
TASK_NOT_RUNNING

net/ipv4/route.c ipv4_sk_update_pmtu() -> xfrm_dst_path()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sk->sk_lock.slock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct socket_lock_t)->slock