Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

net/ipv4/tcp_ipv4.c dst_feature() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 0-ptr_max
PARAM_VALUE 1 metric 12
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

net/ipv4/tcp_ipv4.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
BUF_SIZE 0 dst (-1),152
BUF_SIZE 0 dst (-1),152
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock

net/ipv4/tcp_metrics.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 metric 1
BUF_SIZE 0 dst (-1)-0,4,24,64,144,152,168-s32max
BUF_SIZE 0 dst (-1)-0,4,24,64,144,152,168-s32max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk

net/ipv4/tcp_metrics.c dst_metric_rtt() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 13
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 metric $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 sk

net/ipv4/ip_forward.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
CAPPED_DATA 0 dst->dev_rcu 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 bh

net/netfilter/nf_flow_table_core.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
HALF_LOCKED2 rcu_read

net/ipv4/syncookies.c cookie_v4_check() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 0-ptr_max
PARAM_VALUE 1 metric 3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/syncookies.c cookie_v4_check() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 0-ptr_max
PARAM_VALUE 1 metric 14
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/syncookies.c dst_feature() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 0-ptr_max
PARAM_VALUE 1 metric 12
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

drivers/net/ppp/pptp.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pch->downl
HALF_LOCKED2 &pchb->downl
HALF_LOCKED2 &ppp->wlock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct channel)->downl

net/ipv4/tcp_input.c dst_feature() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 metric 12
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read

net/ipv4/tcp_input.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/tcp_input.c dst_metric_rtt() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 13
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 metric $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/tcp_input.c tcp_init_cwnd() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 metric 11
DATA_SOURCE 0 dst $1
RX_PATH
TASK_NOT_RUNNING

net/ipv6/syncookies.c cookie_v6_check() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 3
BUF_SIZE 0 dst (-1)-0,4,24,64,144,152,168-s32max
BUF_SIZE 0 dst (-1)-0,4,24,64,144,152,168-s32max
DATA_SOURCE 0 dst r ip6_dst_lookup_flow
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv6/syncookies.c cookie_v6_check() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 14
BUF_SIZE 0 dst (-1)-0,4,24,64,144,152,168-s32max
BUF_SIZE 0 dst (-1)-0,4,24,64,144,152,168-s32max
DATA_SOURCE 0 dst r ip6_dst_lookup_flow
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv6/syncookies.c dst_feature() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 12
BUF_SIZE 0 dst (-1)-0,144,152
BUF_SIZE 0 dst (-1)-0,144,152
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/ip_tunnel_core.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

net/sctp/protocol.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING

net/xfrm/xfrm_output.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
CAPPED_DATA 0 dst->dev_rcu 1
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv4/tcp_timer.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock

net/ipv4/tcp_timer.c dst_metric_rtt() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 13
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 metric $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock

net/core/sock.c sk_setup_caps() -> dst_metric()

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

net/ipv4/tcp_minisocks.c dst_metric_locked() -> dst_metric()

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

net/ipv4/tcp_minisocks.c tcp_ca_openreq_child() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 16
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
CAPPED_DATA 0 dst->dev_rcu 1
DATA_SOURCE 0 dst $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv4/tcp_minisocks.c tcp_openreq_init_rwin() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 3
DATA_SOURCE 0 dst $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &sk_listener->sk_lock.slock
HALF_LOCKED2 sk_listener

net/ipv4/tcp_minisocks.c tcp_openreq_init_rwin() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 14
DATA_SOURCE 0 dst $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &sk_listener->sk_lock.slock
HALF_LOCKED2 sk_listener

net/bridge/br_netfilter_hooks.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
CAPPED_DATA 0 dst->dev_rcu 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &net->ipv4.mfc_mutex
HALF_LOCKED2 &net->ipv6.mfc_mutex
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 sk

net/ipv4/tcp_fastopen.c tcp_fastopen_no_cookie() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 metric 17
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk

net/ipv6/route.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
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/ipv6/ip6_output.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv6/tcp_ipv6.c dst_feature() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 12
BUF_SIZE 0 dst (-1)-0,144,152
BUF_SIZE 0 dst (-1)-0,144,152
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

net/netfilter/nf_flow_table_ip.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/ipv4/tcp_output.c dst_feature() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 12
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

net/ipv4/tcp_output.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk

net/ipv4/tcp_output.c dst_metric_rtt() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 13
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 metric $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/tcp_output.c tcp_ca_dst_init() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 16
DATA_SOURCE 0 dst $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

net/ipv4/tcp_output.c tcp_connect_init() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk
HALF_LOCKED2 sk

net/ipv4/tcp_output.c tcp_connect_init() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 metric 14
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk
HALF_LOCKED2 sk

net/ipv4/route.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 1 metric 1
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/ipv4/ip_output.c dst_metric_locked() -> dst_metric()

Type Parameter Key Value
PARAM_VALUE 1 metric 1
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk