Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/xfrm/xfrm_iptfs.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv4/tcp_metrics.c __tcp_get_metrics_req() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
BUF_SIZE 0 dst (-1)-s32max
BUF_SIZE 0 dst (-1)-s32max
DATA_SOURCE 0 dst $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/tcp_metrics.c tcp_get_metrics() -> dst_dev_net_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dst $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/ipv4/tcp_metrics.c tcpm_new() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
CAPPED_DATA 0 dst->dev_rcu 1
DATA_SOURCE 0 dst $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 global &tcp_metrics_lock
LOCK2 rcu_read
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

drivers/infiniband/core/addr.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/geneve.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->ops 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev 4096-ptr_max
PARAM_VALUE 0 dst->ops 4096-ptr_max
PARAM_VALUE 0 dst->xfrm 0
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tc_info->lock
LOCK2 rcu_read
HALF_LOCKED2 &block->cb_lock
HALF_LOCKED2 &flowtable->flow_block_lock
TYPE_LOCK (struct bnxt_tc_info)->lock

drivers/net/gtp.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

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

net/ipv4/netfilter/nf_reject_ipv4.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/amt.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/ppp/pptp.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

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

drivers/net/wireguard/socket.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
LOCK2 rcu_read
HALF_LOCKED2 &peer->endpoint_lock
HALF_LOCKED2 bh

net/tipc/udp_media.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read

net/sctp/protocol.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 rcu_read

net/xfrm/xfrm_output.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/ethernet/sfc/tc_encap_actions.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev 0,4096-ptr_max
DATA_SOURCE 0 dst $0
LOCK2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &esw->offloads.encap_tbl_lock
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct mlx5_esw_offload)->encap_tbl_lock

net/ipv4/ip_tunnel.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/ovpn/udp.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bh

net/ipv6/route.c ip6_default_advmss() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev_rcu->ndisc_ops->parse_options 4096-ptr_max
PARAM_VALUE 0 dst->ops 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
LOCK2 rcu_read
HALF_LOCKED2 bh
HALF_LOCKED2 global &rx_queue_mutex

drivers/net/vxlan/vxlan_core.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->ops 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/ethernet/netronome/nfp/flower/action.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &priv->nfp_fl_lock

net/ipv4/route.c __ip_rt_update_pmtu() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->lwtstate 0,4096-ptr_max
BUF_SIZE 0 dst 144
CAPPED_DATA 0 dst->dev_rcu 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &sk->sk_lock.slock

net/ipv4/route.c ipv4_default_advmss() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev_rcu->ndisc_ops->parse_options 4096-ptr_max
PARAM_VALUE 0 dst->ops 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
LOCK2 rcu_read
HALF_LOCKED2 bh
HALF_LOCKED2 global &rx_queue_mutex

net/ipv4/ip_output.c ip4_dst_hoplimit() -> dst_dev_net_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read