Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

net/mpls/af_mpls.c mpls_count_nexthops() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
PARAM_VALUE 1 remaining 264288190934536192
PARAM_VALUE 1 *remaining 8-u16max
CAPPED_DATA 0 rtnh->rtnh_len 1
DATA_SOURCE 0 rtnh $0 [m]
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0-255
USER_DATA 0 rtnh->rtnh_hops 0-255
USER_DATA 0 rtnh->rtnh_ifindex s32min-s32max
USER_DATA 0 rtnh->rtnh_len 8-u16max[c]
USER_DATA 1 *remaining 8-u16max[c][u]
USER_PTR 0 rtnh
USER_PTR 1 remaining
LOCK2 &net->mpls.platform_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct netns_mpls)->platform_mutex

net/mpls/af_mpls.c mpls_nh_build_multi() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
PARAM_VALUE 1 remaining 8380825495040536576
PARAM_VALUE 1 *remaining 8-u16max
CAPPED_DATA 0 rtnh->rtnh_ifindex 1
CAPPED_DATA 0 rtnh->rtnh_len 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0
USER_DATA 0 rtnh->rtnh_hops 0
USER_DATA 0 rtnh->rtnh_ifindex s32min-s32max[c]
USER_DATA 0 rtnh->rtnh_len 8-u16max[c]
USER_DATA 1 *remaining 8-u16max[c][u]
USER_PTR 0 rtnh
USER_PTR 1 remaining
LOCK2 &net->mpls.platform_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct netns_mpls)->platform_mutex

net/ipv4/fib_semantics.c fib_count_nexthops() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh->rtnh_len 8-65531
PARAM_VALUE 1 *remaining 8-65531
CAPPED_DATA 0 rtnh->rtnh_len 1
DATA_SOURCE 0 rtnh $0 [m]
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/ipv4/fib_semantics.c fib_get_nhs() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-65531
PARAM_VALUE 1 *remaining 8-65531
CAPPED_DATA 0 rtnh->rtnh_len 1
DATA_SOURCE 0 rtnh $1 [m]
BIT_INFO 0 rtnh->rtnh_flags 0x0,0xee
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/ipv4/fib_semantics.c fib_nh_match() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-65531
PARAM_VALUE 1 remaining 6947857292617564160
PARAM_VALUE 1 *remaining 8-65531
CAPPED_DATA 0 rtnh->rtnh_len 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0-255
USER_DATA 0 rtnh->rtnh_hops 0-255
USER_DATA 0 rtnh->rtnh_ifindex 0
USER_DATA 0 rtnh->rtnh_len 8-65531[c]
USER_DATA 1 *remaining 8-65531[c]
USER_PTR 0 rtnh
USER_PTR 1 remaining
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/core/lwtunnel.c lwtunnel_valid_encap_type_attr() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
PARAM_VALUE 1 *remaining 8-u16max
CAPPED_DATA 0 rtnh->rtnh_len 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0-255
USER_DATA 0 rtnh->rtnh_hops 0-255
USER_DATA 0 rtnh->rtnh_ifindex s32min-s32max
USER_DATA 0 rtnh->rtnh_len 8-u16max[c]
USER_DATA 1 *remaining 8-65531[c]
USER_PTR 0 rtnh
USER_PTR 1 remaining
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/ipv6/route.c ip6_route_multipath_add() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
PARAM_VALUE 1 remaining 1538819405049618432
PARAM_VALUE 1 *remaining 8-s32max
CAPPED_DATA 0 rtnh->rtnh_len 1
NOSPEC 0 rtnh->rtnh_len
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0-255
USER_DATA 0 rtnh->rtnh_hops 0-255
USER_DATA 0 rtnh->rtnh_ifindex s32min-s32max
USER_DATA 0 rtnh->rtnh_len 8-u16max[c]
USER_DATA 1 *remaining 8-s32max[c][u]
USER_PTR 0 rtnh
USER_PTR 1 remaining
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/ipv6/route.c ip6_route_multipath_del() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
PARAM_VALUE 1 remaining 2515264302683996160
PARAM_VALUE 1 *remaining 8-s32max
CAPPED_DATA 0 rtnh->rtnh_len 1
NOSPEC 0 rtnh->rtnh_len
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0-255
USER_DATA 0 rtnh->rtnh_hops 0-255
USER_DATA 0 rtnh->rtnh_ifindex s32min-s32max
USER_DATA 0 rtnh->rtnh_len 8-u16max[c]
USER_DATA 1 *remaining 8-s32max[c][u]
USER_PTR 0 rtnh
USER_PTR 1 remaining
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/ipv6/route.c rtm_to_fib6_multipath_config() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
PARAM_VALUE 1 remaining 8683293972668108800
PARAM_VALUE 1 *remaining 8-u16max
CAPPED_DATA 0 rtnh->rtnh_len 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0-255
USER_DATA 0 rtnh->rtnh_hops 0-255
USER_DATA 0 rtnh->rtnh_ifindex s32min-s32max
USER_DATA 0 rtnh->rtnh_len 8-u16max[c]
USER_DATA 1 *remaining 8-u16max[c][u]
USER_PTR 0 rtnh
USER_PTR 1 remaining
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/ipv4/ipmr.c ipmr_nla_get_ttls() -> rtnh_next()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-65531
PARAM_VALUE 1 remaining 7640381395385462784
PARAM_VALUE 1 *remaining 8-65531
CAPPED_DATA 0 rtnh->rtnh_len 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rtnh->rtnh_flags 0-255
USER_DATA 0 rtnh->rtnh_hops 0-255
USER_DATA 0 rtnh->rtnh_ifindex s32min-s32max
USER_DATA 0 rtnh->rtnh_len 8-65531[c]
USER_DATA 1 *remaining 8-65531[c]
USER_PTR 0 rtnh
USER_PTR 1 remaining
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex