Defined in 1 files as a function:
Referenced in 8 files:
- include/net/dst.h
- net/core/sock.c, line 2648
- net/ipv4/syncookies.c
- net/ipv4/tcp_fastopen.c, line 431
- net/ipv4/tcp_input.c, line 1204
- net/ipv4/tcp_minisocks.c
- net/ipv4/tcp_output.c
- net/ipv6/syncookies.c
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 |