Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 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_PTR 0 rtnh
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_attrlen()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
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
USER_DATA 0 rtnh->rtnh_len 8-u16max[c]
USER_PTR 0 rtnh
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_get_nhs() -> rtnh_attrlen()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 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_attrlen()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 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_PTR 0 rtnh
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 rtnh->rtnh_len 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_PTR 0 rtnh
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_attrlen()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
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_PTR 0 rtnh
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_attrlen()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 8-u16max
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_PTR 0 rtnh
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_attrlen()

Type Parameter Key Value
PARAM_VALUE 0 rtnh 4096-ptr_max
PARAM_VALUE 0 rtnh->rtnh_len 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_PTR 0 rtnh
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