Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

net/ipv4/nexthop.c insert_nexthop() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->rtnl_mutex
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 net)->rtnl_mutex

fs/afs/cell.c afs_lookup_cell() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
PARAM_COMPARE 2 &(*rb_link)->rb_left < $2
PARAM_COMPARE 2 &(*rb_link)->rb_right < $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->cells_lock
HALF_LOCKED2 &net->cells_alias_lock
TYPE_LOCK (struct afs_net)->cells_lock

net/netfilter/nf_conncount.c insert_tree() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &root->lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct nf_conncount_root)->lock

net/rxrpc/conn_service.c rxrpc_publish_service_conn() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
PARAM_COMPARE 2 &(*rb_link)->rb_left < $2
PARAM_COMPARE 2 &(*rb_link)->rb_right < $2
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &local->services_lock
LOCK2 &peer->service_conn_lock.lock
LOCK2 &rx->incoming_lock
LOCK2 irq
TYPE_LOCK (struct rxrpc_local)->services_lock
TYPE_LOCK (struct rxrpc_sock)->incoming_lock
TYPE_LOCK (struct seqlock)->lock

kernel/nstree.c rb_find_add_rcu() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
DATA_SOURCE 0 node $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &ns_tree_lock.lock
HALF_LOCKED2 &to_path.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem
HALF_LOCKED2 global &pernet_ops_rwsem

fs/afs/volume.c afs_insert_volume_into_cell() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
PARAM_COMPARE 2 &(*rb_link)->rb_left < $2
PARAM_COMPARE 2 &(*rb_link)->rb_right < $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cell->volume_lock.lock
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &net->cells_alias_lock
TYPE_LOCK (struct seqlock)->lock

net/netfilter/nft_set_rbtree.c __nft_rbtree_insert() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
NOCHECK_CALL
LOCK2 &priv->lock
TYPE_LOCK (struct nft_rbtree)->lock

kernel/module/tree_lookup.c __lt_insert() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
NOCHECK_CALL
LOCK2 global &module_mutex

kernel/events/uprobes.c rb_find_add_rcu() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
CAPPED_DATA 0 node 1
DATA_SOURCE 0 node $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &uprobes_treelock

net/xfrm/xfrm_policy.c xfrm_policy_inexact_insert_node() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->xfrm.xfrm_policy_lock
LOCK2 bh
HALF_LOCKED2 global &hash_resize_mutex
TYPE_LOCK (struct netns_xfrm)->xfrm_policy_lock

net/xfrm/xfrm_policy.c xfrm_policy_inexact_node_reinsert() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->xfrm.xfrm_policy_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &hash_resize_mutex
TYPE_LOCK (struct netns_xfrm)->xfrm_policy_lock

kernel/bpf/core.c __lt_insert() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 global &bpf_lock

net/core/dev_addr_lists.c __hw_addr_insert() -> rb_link_node_rcu()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 rb_link 4096-ptr_max
PARAM_VALUE 2 *rb_link 0
BUF_SIZE 2 rb_link 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh