Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/ipv6/route.c __inet6_rt_notify() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 rt 4096-ptr_max
PARAM_VALUE 2 rt->nh 0,4096-ptr_max
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 3 dst 0
PARAM_VALUE 4 dest 0
PARAM_VALUE 5 src 0
PARAM_VALUE 6 iif 0
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 1 skb r nlmsg_new
DATA_SOURCE 2 rt $1
DATA_SOURCE 7 type $0
DATA_SOURCE 10 flags $3
DATA_SOURCE 11 del_reason $4
UNITS 0 net unit_byte
LOCK2 rcu_read

net/ipv6/route.c __ip6_del_rt_siblings() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 rt 4096-ptr_max
PARAM_VALUE 2 rt->fib6_nsiblings 1-u32max
PARAM_VALUE 2 rt->fib6_ref.refs.counter (-1073741824),0-s32max
PARAM_VALUE 2 rt->fib6_table 4096-ptr_max
PARAM_VALUE 2 rt->fib6_table->tb6_lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 rt->nh 0
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 3 dst 0
PARAM_VALUE 4 dest 0
PARAM_VALUE 5 src 0
PARAM_VALUE 6 iif 0
PARAM_VALUE 7 type 25
PARAM_VALUE 10 flags 0
PARAM_VALUE 11 del_reason 0
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 1 skb r nlmsg_new
DATA_SOURCE 2 rt $0
PARAM_COMPARE 0 net->ipv6.fib6_null_entry != $2
PARAM_COMPARE 2 rt != $0->ipv6.fib6_null_entry
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 &table->tb6_lock
LOCK2 bh
LOCK2 rcu_read
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/route.c fib6_info_hw_flags_set() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 0 net->ipv6.sysctl.fib_notify_on_flag_change 1-255
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 rt 4096-ptr_max
PARAM_VALUE 2 rt->fib6_node 1-u64max
PARAM_VALUE 2 rt->nh 0,4096-ptr_max
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 2 rt->offload 0-1
PARAM_VALUE 2 rt->offload_failed 0-1
PARAM_VALUE 2 rt->trap 0-1
PARAM_VALUE 3 dst 0
PARAM_VALUE 4 dest 0
PARAM_VALUE 5 src 0
PARAM_VALUE 6 iif 0
PARAM_VALUE 7 type 24
PARAM_VALUE 8 portid 0
PARAM_VALUE 9 seq 0
PARAM_VALUE 10 flags 0
PARAM_VALUE 11 del_reason 0
BUF_SIZE 0 net (-1),10432,10496
BUF_SIZE 0 net (-1),10432,10496
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 0 net $0
DATA_SOURCE 1 skb r nlmsg_new
DATA_SOURCE 2 rt $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &data->fib_lock
HALF_LOCKED2 &mlxsw_sp->router->lock
HALF_LOCKED2 &pool->lock

net/ipv6/route.c fib6_rt_update() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv4.sysctl_nexthop_compat_mode 1-255
PARAM_VALUE 0 net->ipv6.fib6_sernum.counter 0-s32max
PARAM_VALUE 0 net->nexthop.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 net->nexthop.rb_root.rb_node->rb_left 4096-ptr_max
PARAM_VALUE 0 net->nexthop.seq 1-u32max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 rt 4096-ptr_max
PARAM_VALUE 2 rt->nh 0,4096-ptr_max
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 2 rt->nh->nh_info->fib6_nh.nh_common.nhc_dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 3 dst 0
PARAM_VALUE 4 dest 0
PARAM_VALUE 5 src 0
PARAM_VALUE 6 iif 0
PARAM_VALUE 7 type 24
PARAM_VALUE 10 flags 256
PARAM_VALUE 11 del_reason 0
BUF_SIZE 1 skb 0-s32max
BUF_SIZE 1 skb 0-s32max
DATA_SOURCE 0 net $0
DATA_SOURCE 1 skb r nlmsg_new
DATA_SOURCE 2 rt $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 &nh->lock
LOCK2 bh
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
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 &rx_queue_mutex
TYPE_LOCK (struct net)->rtnl_mutex
TYPE_LOCK (struct nexthop)->lock

net/ipv6/route.c inet6_rtm_getroute() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv6.fib6_local_tbl->tb6_root.subtree->fn_flags 4-u16max
PARAM_VALUE 0 net->ipv6.fib6_main_tbl->tb6_root.subtree->fn_flags 4-u16max
PARAM_VALUE 0 net->ipv6.ip6_null_entry->dst.dst_trace_seq.counter s32min-s32max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->_skb_refdst 4096-18446744073709547520
PARAM_VALUE 2 rt 1-u64max
PARAM_VALUE 3 dst 0
PARAM_VALUE 4 dest 0
PARAM_VALUE 5 src 0
PARAM_VALUE 7 type 24
PARAM_VALUE 10 flags 0
PARAM_VALUE 11 del_reason 0
BUF_SIZE 1 skb 3776
BUF_SIZE 1 skb 3776
CAPPED_DATA 6 iif 1
DATA_SOURCE 1 skb r alloc_skb
RX_PATH
TASK_NOT_RUNNING
USER_DATA 9 seq 0-u32max[u]
UNITS 0 net unit_byte
LOCK2 rcu_read
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 inet6_rtm_getroute() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv6.fib6_local_tbl->tb6_root.subtree->fn_flags 4-u16max
PARAM_VALUE 0 net->ipv6.fib6_main_tbl->tb6_root.subtree->fn_flags 4-u16max
PARAM_VALUE 0 net->ipv6.ip6_null_entry->dst.dst_trace_seq.counter s32min-s32max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 1 skb->_skb_refdst 4096-18446744073709547520
PARAM_VALUE 2 rt 1-u64max
PARAM_VALUE 4 dest 6735678175064977448
PARAM_VALUE 5 src 6735678175064977464
PARAM_VALUE 7 type 24
PARAM_VALUE 10 flags 0
PARAM_VALUE 11 del_reason 0
BUF_SIZE 1 skb 3776
BUF_SIZE 1 skb 3776
BUF_SIZE 3 dst (-1)-0,144,152
BUF_SIZE 3 dst (-1)-0,144,152
CAPPED_DATA 6 iif 1
DATA_SOURCE 1 skb r alloc_skb
RX_PATH
TASK_NOT_RUNNING
USER_DATA 9 seq 0-u32max[u]
UNITS 0 net unit_byte
LOCK2 rcu_read
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 rt6_dump_route() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 2 rt 1-u64max
PARAM_VALUE 3 dst 0
PARAM_VALUE 4 dest 0
PARAM_VALUE 5 src 0
PARAM_VALUE 6 iif 0
PARAM_VALUE 7 type 24
PARAM_VALUE 10 flags 2,34
PARAM_VALUE 11 del_reason 0
DATA_SOURCE 2 rt $0
FUZZY_MAX 10 flags 2
PARAM_COMPARE 0 net->ipv6.fib6_null_entry != $2
PARAM_COMPARE 2 rt != $0->ipv6.fib6_null_entry
BIT_INFO 10 flags 0x2,0x22
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 bh
HALF_LOCKED2 &iter->tbl->tb6_lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &table->tb6_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/route.c rt6_nh_dump_exceptions() -> rt6_fill_node()

Type Parameter Key Value
PARAM_VALUE 4 dest 0
PARAM_VALUE 5 src 0
PARAM_VALUE 6 iif 0
PARAM_VALUE 7 type 24
PARAM_VALUE 11 del_reason 0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read