Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/ipv6/addrconf.c addrconf_prefix_rcv() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_flags 0,4194304-u32max
PARAM_VALUE 0 f6i->fib6_nh 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_ref.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 f6i->fib6_table 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table->tb6_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 f6i->nh 0
CAPPED_DATA 0 f6i->fib6_nh->nh_common.nhc_dev->ifindex 1
DATA_SOURCE 0 f6i r addrconf_get_prefix_route
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &table->tb6_lock
LOCK2 bh
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/addrconf.c cleanup_prefix_route() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_flags 0,4194304-u32max
PARAM_VALUE 0 f6i->fib6_nh 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_ref.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 f6i->fib6_table 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table->tb6_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 f6i->nh 0
CAPPED_DATA 0 f6i->fib6_nh->nh_common.nhc_dev->ifindex 1
DATA_SOURCE 0 f6i r addrconf_get_prefix_route
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &table->tb6_lock
LOCK2 bh
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/addrconf.c modify_prefix_route() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_flags 0,4194304-u32max
PARAM_VALUE 0 f6i->fib6_metric 1-u32max
PARAM_VALUE 0 f6i->fib6_nh 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_ref.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 f6i->fib6_table 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table->tb6_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 f6i->nh 0
CAPPED_DATA 0 f6i->fib6_metric 1
CAPPED_DATA 0 f6i->fib6_nh->nh_common.nhc_dev->ifindex 1
DATA_SOURCE 0 f6i r addrconf_get_prefix_route
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->rtnl_mutex
LOCK2 &table->tb6_lock
LOCK2 bh
LOCK2 global &rtnl_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 &rx_queue_mutex
TYPE_LOCK (struct fib6_table)->tb6_lock
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv6/ip6_fib.c fib6_add() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_flags 4194304-u32max
PARAM_VALUE 0 f6i->fib6_nh->nh_common.nhc_family 0-255
PARAM_VALUE 0 f6i->fib6_nh->nh_common.nhc_gw_family 0-255
PARAM_VALUE 0 f6i->fib6_node 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_node->leaf->fib6_nh->nh_common.nhc_gw_family 0-255
PARAM_VALUE 0 f6i->fib6_siblings.next 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table->tb6_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 f6i->nh 0,4096-ptr_max
PARAM_VALUE 0 f6i->nh->dead 0
PARAM_VALUE 0 f6i->nh->f6i_list.next 4096-ptr_max
PARAM_VALUE 0 f6i->nh->f6i_list.next->next 4096-ptr_max
PARAM_VALUE 0 f6i->nh->f6i_list.next->prev 4096-ptr_max
PARAM_VALUE 0 f6i->nh->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *f6i->fib6_next->dst_nocount 0-1
PARAM_VALUE 0 *f6i->fib6_next->dst_nopolicy 0-1
PARAM_VALUE 0 *f6i->fib6_next->fib6_destroying 0-1
PARAM_VALUE 0 *f6i->fib6_next->fib6_dst.plen s32min-s32max
PARAM_VALUE 0 *f6i->fib6_next->fib6_flags 0-4294967295
PARAM_VALUE 0 *f6i->fib6_next->fib6_metric 0-4294967295
PARAM_VALUE 0 *f6i->fib6_next->fib6_nsiblings 0-4294967295
PARAM_VALUE 0 *f6i->fib6_next->fib6_prefsrc.plen s32min-s32max
PARAM_VALUE 0 *f6i->fib6_next->fib6_protocol 0-255
PARAM_VALUE 0 *f6i->fib6_next->fib6_ref.refs.counter s32min-s32max
PARAM_VALUE 0 *f6i->fib6_next->fib6_src.plen s32min-s32max
PARAM_VALUE 0 *f6i->fib6_next->fib6_type 0-255
PARAM_VALUE 0 *f6i->fib6_next->offload 0-255
PARAM_VALUE 0 *f6i->fib6_next->offload_failed 0-255
PARAM_VALUE 0 *f6i->fib6_next->should_flush 0-1
PARAM_VALUE 0 *f6i->fib6_next->trap 0-255
PARAM_VALUE 0 *f6i->fib6_next->unused 0-15
BUF_SIZE 0 f6i (-1),200,304
BUF_SIZE 0 f6i (-1),200,304
CAPPED_DATA 0 f6i->fib6_dst.plen 1
CAPPED_DATA 0 f6i->fib6_node 1
CAPPED_DATA 0 f6i->fib6_src.plen 1
CAPPED_DATA 0 f6i->nh 1
DATA_SOURCE 0 f6i $1
BIT_INFO 0 f6i->fib6_flags 0x400000,0xffffffff
NOSPEC 0 f6i->fib6_dst.plen
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 f6i->fib6_dst.plen 0-128[c]
USER_DATA 0 f6i->fib6_flags 4194304-u32max[c]
LOCK2 &table->tb6_lock
LOCK2 bh
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/ip6_fib.c fib6_add_rt2node() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_flags 0,4194304-u32max
PARAM_VALUE 0 f6i->nh 0,4096-ptr_max
CAPPED_DATA 0 f6i->fib6_metric 1
CAPPED_DATA 0 f6i->nh 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &table->tb6_lock
LOCK2 bh
HALF_LOCKED2 &rt->nh->lock
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/route.c rt6_insert_exception() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_node->fn_sernum (-2147483647)-s32max
PARAM_VALUE 0 f6i->fib6_table 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table->tb6_lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 f6i->fib6_node 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &f6i->fib6_table->tb6_lock
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/route.c rt6_route_rcv() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_flags 0,4194304-u32max
PARAM_VALUE 0 f6i->fib6_nh 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_nh->nh_common.nhc_gw_family 1-255
PARAM_VALUE 0 f6i->fib6_table 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table->tb6_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &table->tb6_lock
LOCK2 bh
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/ndisc.c ndisc_router_discovery() -> fib6_add_gc_list()

Type Parameter Key Value
PARAM_VALUE 0 f6i 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_flags 0,4194304-u32max
PARAM_VALUE 0 f6i->fib6_nh 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table 4096-ptr_max
PARAM_VALUE 0 f6i->fib6_table->tb6_lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 f6i->fib6_nh->nh_common.nhc_dev 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &table->tb6_lock
LOCK2 bh
TYPE_LOCK (struct fib6_table)->tb6_lock