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 |