Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 7 files:

Smatch caller information:

net/ipv4/fib_frontend.c __inet_dev_addr_type() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 0 net->ipv4.fqdir->f->qsize 0,304,320
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 0 net (-1),1-s32max
DATA_SOURCE 0 net $0
DATA_SOURCE 1 id $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read
HALF_LOCKED2 0 &net->ipv4.mfc_mutex
HALF_LOCKED2 0 &net->ipv6.mfc_mutex
HALF_LOCKED2 0 &net->rtnl_mutex

net/ipv4/fib_frontend.c fib_new_table() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 1 id 1-u32max
DATA_SOURCE 0 net $0
DATA_SOURCE 1 id $1 [m]
FUZZY_MAX 1 id 254
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
HALF_LOCKED2 &ops->lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &net->rtnl_mutex

net/ipv4/fib_frontend.c fib_new_table() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net->ipv4.fib_table_hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 id 1-u32max
CAPPED_DATA 1 id 1
DATA_SOURCE 0 net $0
DATA_SOURCE 1 id $1 [m]
FUZZY_MAX 1 id 254
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 0 &net->ipv4.fib_table_hash_lock
HALF_LOCKED2 &ops->lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &net->rtnl_mutex
TYPE_LOCK (struct netns_ipv4)->fib_table_hash_lock

net/ipv4/fib_frontend.c fib_unmerge() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv4.fib_has_custom_rules 0
PARAM_VALUE 1 id 255
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
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 fib_unmerge() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv4.fib_default 4096-ptr_max
PARAM_VALUE 0 net->ipv4.fib_has_custom_rules 0
PARAM_VALUE 0 net->ipv4.fib_main 4096-ptr_max
PARAM_VALUE 1 id 254
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
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 inet_dump_fib() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 1 id 1-u32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 id 1-255
UNITS 0 net unit_byte
LOCK2 rcu_read

net/ipv4/fib_frontend.c inet_rtm_delroute() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
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.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
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

net/ipv4/fib_frontend.c ip_rt_ioctl() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->rtnl_mutex.dep_map->name 0-255
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.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 net->rtnl_mutex.osq.tail.counter 0-s32max
DATA_SOURCE 0 net $0
NS_CAPABLE 0 12
UNITS 0 net unit_byte
LOCK2 global &rtnl_mutex
LOCK2 0 &net->rtnl_mutex
TYPE_LOCK (struct net)->rtnl_mutex

net/ipv4/fib_frontend.c nl_fib_lookup() -> fib_get_table()

Type Parameter Key Value
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 id 0-255
UNITS 0 net unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &dev->ethtool->rss_lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/core/filter.c bpf_ipv4_fib_lookup() -> fib_get_table()

Type Parameter Key Value
DATA_SOURCE 0 net $0
UNITS 0 net unit_byte

net/ipv4/fib_semantics.c fib_check_nh_v4_gw() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 1 id 1-253,255-u32max
DATA_SOURCE 0 net $0
DATA_SOURCE 1 id $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &net->rtnl_mutex

net/ipv4/fib_rules.c fib4_rule_action() -> fib_get_table()

Type Parameter Key Value
DATA_SOURCE 1 id r fib_rule_get_table
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv4/fib_rules.c fib_empty_table() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 id 1-u32max
DATA_SOURCE 0 net $0
FUZZY_MAX 1 id 1
RX_PATH
TASK_NOT_RUNNING
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_trie.c fib_find_matching_alias() -> fib_get_table()

Type Parameter Key Value
BUF_SIZE 0 net (-1),10432
BUF_SIZE 0 net (-1),10432
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &data->fib_lock
HALF_LOCKED2 &mlxsw_sp->router->lock
HALF_LOCKED2 &pool->lock

net/ipv4/fib_trie.c fib_route_seq_start() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 1 id 254
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

net/ipv4/devinet.c __ip_dev_find() -> fib_get_table()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 0 net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 0 net->loopback_dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 1 id 255
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 0 net (-1),1-s32max
DATA_SOURCE 0 net $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 rcu_read
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 0 &net->ipv4.mfc_mutex
HALF_LOCKED2 0 &net->ipv6.mfc_mutex
HALF_LOCKED2 0 &net->rtnl_mutex