Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
net/ipv4/fib_frontend.c fib_new_table() -> fib_free_table()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tb | 4096-ptr_max |
| PARAM_VALUE | 0 | tb->tb_id | 1-u32max |
| PARAM_VALUE | 0 | tb->tb_num_default | 0 |
| BUF_SIZE | 0 | tb | 48,72 |
| BUF_SIZE | 0 | tb | 48,72 |
| CAPPED_DATA | 0 | tb | 1 |
| CAPPED_DATA | 0 | tb->tb_id | 1 |
| DATA_SOURCE | 0 | tb | r fib_trie_table |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &net->rtnl_mutex | ||
| HALF_LOCKED2 | &ops->lock | ||
| HALF_LOCKED2 | global &rtnl_mutex |
net/ipv4/fib_frontend.c fib_unmerge() -> fib_free_table()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tb | 4096-ptr_max |
| PARAM_VALUE | 0 | tb->tb_id | 1-u32max |
| CAPPED_DATA | 0 | tb->tb_id | 1 |
| DATA_SOURCE | 0 | tb | r fib_get_table |
| PARAM_COMPARE | 0 | tb->__data | != $0->tb_data |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ops->lock | ||
| HALF_LOCKED2 | &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 &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| TYPE_LOCK | (struct fib_rules_ops)->lock |
net/ipv4/fib_frontend.c ip_fib_net_exit() -> fib_free_table()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | tb | 4096-ptr_max |
| PARAM_VALUE | 0 | tb->tb_data->kv | 4096-ptr_max |
| PARAM_VALUE | 0 | tb->tb_hlist->next->pprev | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &net->rtnl_mutex | ||
| LOCK2 | global &pernet_ops_rwsem | ||
| LOCK2 | global &rtnl_mutex | ||
| TYPE_LOCK | (struct net)->rtnl_mutex |