Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 19 files:

Smatch caller information:

net/xfrm/xfrm_iptfs.c iptfs_encap_add_ipv6() -> ip6_dst_hoplimit()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/infiniband/core/addr.c addr6_resolve() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
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
LOCK2 rcu_read

drivers/net/geneve.c geneve6_xmit_skb() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->ops 4096-ptr_max
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 udp_tunnel6_dst_lookup
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

net/ipv6/ip6_tunnel.c ip6_tnl_xmit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->ops 4096-ptr_max
BUF_SIZE 0 dst (-1)-0,144,152
BUF_SIZE 0 dst (-1)-0,144,152
CAPPED_DATA 0 dst 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/gtp.c gtp_dev_xmit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

net/ipv6/udp.c ip6_sk_dst_hoplimit() -> ip6_dst_hoplimit()

Type Parameter Key Value
DATA_SOURCE 0 dst $2

drivers/net/wireguard/socket.c send6() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->u.dst.__pad s16min-s16max
PARAM_VALUE 0 dst->u.dst.__rcuref.refcnt.counter s32min-s32max
PARAM_VALUE 0 dst->u.dst.__use s32min-s32max
PARAM_VALUE 0 dst->u.dst.dst_trace_seq.counter s32min-s32max
PARAM_VALUE 0 dst->u.dst.error s16min-s16max
PARAM_VALUE 0 dst->u.dst.header_len 0-u16max
PARAM_VALUE 0 dst->u.dst.obsolete s16min-s16max
PARAM_VALUE 0 dst->u.dst.tclassid 0-4294967295
PARAM_VALUE 0 dst->u.dst.trailer_len 0-u16max
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
PREEMPT_ADD <- disables preempt
LOCK2 rcu_read
HALF_LOCKED2 &peer->endpoint_lock
HALF_LOCKED2 bh

net/ipv6/ping.c ip6_sk_dst_hoplimit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
BUF_SIZE 0 dst (-1)-0,144,152
BUF_SIZE 0 dst (-1)-0,144,152
DATA_SOURCE 0 dst $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/tipc/udp_media.c tipc_udp_xmit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
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
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 bh
HALF_LOCKED2 rcu_read

net/l2tp/l2tp_ip6.c ip6_sk_dst_hoplimit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
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 $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/xfrm/xfrm_output.c xfrm6_tunnel_encap_add() -> ip6_dst_hoplimit()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

net/ipv6/ipv6_sockglue.c do_ipv6_getsockopt() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
RX_PATH
LOCK2 rcu_read

drivers/net/ethernet/sfc/tc_encap_actions.c efx_bind_neigh() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev 0,4096-ptr_max
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

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c mlx5e_route_lookup_ipv6_get() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
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
LOCK2 &esw->offloads.encap_tbl_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct mlx5_esw_offload)->encap_tbl_lock

drivers/net/ovpn/udp.c ovpn_udp6_output() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->u.dst.__pad s16min-s16max
PARAM_VALUE 0 dst->u.dst.__rcuref.refcnt.counter s32min-s32max
PARAM_VALUE 0 dst->u.dst.__use s32min-s32max
PARAM_VALUE 0 dst->u.dst.dst_trace_seq.counter s32min-s32max
PARAM_VALUE 0 dst->u.dst.error s16min-s16max
PARAM_VALUE 0 dst->u.dst.header_len 0-u16max
PARAM_VALUE 0 dst->u.dst.obsolete s16min-s16max
PARAM_VALUE 0 dst->u.dst.tclassid 0-4294967295
PARAM_VALUE 0 dst->u.dst.trailer_len 0-u16max
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
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bh

net/ipv6/raw.c ip6_sk_dst_hoplimit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
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 $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/ipv6/ip6_output.c ip6_xmit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
CAPPED_DATA 0 dst->dev_rcu 1
DATA_SOURCE 0 dst r skb_dst
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &net->xfrm.xfrm_state_lock
HALF_LOCKED2 bh

net/ipv6/netfilter/nf_reject_ipv6.c nf_send_reset6() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 0 dst->dev->refcnt_tracker.quarantine.prev 4096-ptr_max
PARAM_VALUE 0 dst->dev->refcnt_tracker.quarantine.prev->next 4096-ptr_max
PARAM_VALUE 0 dst->dev->refcnt_tracker.quarantine.prev->next->next 4096-ptr_max
PARAM_VALUE 0 dst->ops->pcpuc_entries.lock.dep_map->name 0-255
PARAM_VALUE 0 dst->ops->pcpuc_entries.lock.owner (-1)
PARAM_VALUE 0 dst->ops->pcpuc_entries.lock.owner_cpu u32max
BUF_SIZE 0 dst (-1)-0,144,152
BUF_SIZE 0 dst (-1)-0,144,152
CAPPED_DATA 0 dst 1
DATA_SOURCE 0 dst r xfrm_lookup
RX_PATH
TASK_NOT_RUNNING

net/sctp/ipv6.c sctp_v6_xmit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
DATA_SOURCE 0 dst r dst_clone
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh

net/ipv6/seg6_iptunnel.c __seg6_do_srh_encap() -> ip6_dst_hoplimit()

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

net/ipv6/seg6_iptunnel.c seg6_do_srh_encap_red() -> ip6_dst_hoplimit()

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

drivers/net/ethernet/netronome/nfp/flower/action.c nfp_fl_set_tun() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
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 &priv->nfp_fl_lock

net/ipv6/icmp.c ip6_sk_dst_hoplimit() -> ip6_dst_hoplimit()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev->refcnt_tracker.list.next->next 4096-ptr_max
BUF_SIZE 0 dst (-1)-0,144,152
BUF_SIZE 0 dst (-1)-0,144,152
CAPPED_DATA 0 dst 1
DATA_SOURCE 0 dst $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
HALF_LOCKED2 rcu_read