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