Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

net/ipv4/nexthop.c l3mdev_fib_table() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 0,4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &net->rtnl_mutex
LOCK2 global &rtnl_mutex
LOCK2 rcu_read
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 l3mdev_fib_table() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 0 dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 0 dev->ndisc_ops->fill_addr_option 4096-ptr_max
PARAM_VALUE 0 dev->ndisc_ops->parse_options 4096-ptr_max
PARAM_VALUE 0 dev->ndisc_ops->update 4096-ptr_max
PARAM_VALUE 0 dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 0 dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3544,3552,3720,9688-u64max
DATA_SOURCE 0 dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->proto_down
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ip_ptr 1

net/core/filter.c bpf_ipv6_fib_lookup() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ip6_ptr->cnf.forwarding s32min-(-1),1-s32max
CAPPED_DATA 0 dev->ip6_ptr 1

net/ipv4/fib_semantics.c l3mdev_fib_table() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->nd_net.net 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/ipv6/addrconf.c l3mdev_fib_table() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/l3mdev/l3mdev.c l3mdev_fib_table_by_index() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev->ifindex 1
DATA_SOURCE 0 dev r dev_get_by_index_rcu
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c l3mdev_fib_table() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &mlxsw_sp->router->lock
HALF_LOCKED2 &pool->lock

net/ipv6/route.c ip6_route_check_nh_onlink() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev 0,4096-ptr_max
CAPPED_DATA 0 dev 1
DATA_SOURCE 0 dev $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/ipv6/route.c l3mdev_fib_table() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
PARAM_VALUE 0 dev->nd_net.net->ipv4.fqdir->f->frag_expire 0,663510801442193408,1753052602134376448,4007388366431105024,8876081723503042560
PARAM_VALUE 0 dev->nd_net.net->ipv4.fqdir->f->qsize 0,304,320
PARAM_VALUE 0 dev->ndisc_ops->fill_addr_option 4096-ptr_max
PARAM_VALUE 0 dev->ndisc_ops->parse_options 4096-ptr_max
PARAM_VALUE 0 dev->ndisc_ops->update 4096-ptr_max
PARAM_VALUE 0 dev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 0 dev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3544,3552,3720,9688-u64max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->group
NO_OVERFLOW_SIMPLE 0 dev->num_tc
NO_OVERFLOW_SIMPLE 0 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 0 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 0 dev->tx_queue_len
UNITS 0 dev unit_byte
LOCK2 rcu_read

drivers/net/ethernet/marvell/prestera/prestera_router.c l3mdev_fib_table() -> l3mdev_fib_table_rcu()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
UNITS 0 dev unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &rtnl_mutex