Documented in 1 files:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

kernel/kprobes.c init_aggr_kprobe() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->next 0
PARAM_VALUE 1 new->pprev 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
LOCK2 global &jump_label_mutex
HALF_LOCKED2 global &fei_lock

net/ipv4/fib_frontend.c fib_replace_table() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
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

drivers/net/wireguard/peerlookup.c wg_index_hashtable_replace() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 0 old->pprev 1-u64max
PARAM_VALUE 1 new 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &handshake->lock
LOCK2 &table->lock
LOCK2 bh
LOCK2 rcu_read
TYPE_LOCK (struct index_hashtable)->lock
TYPE_LOCK (struct noise_handshake)->lock

net/openvswitch/conntrack.c ct_limit_set() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &ovs_mutex
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
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 &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

kernel/pid.c transfer_pid() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
NOCHECK_CALL
LOCK2 global &tasklist_lock
LOCK2 irq

net/ipv6/addrlabel.c __ip6addrlbl_add() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->next 0
PARAM_VALUE 1 new->pprev 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->ipv6.ip6addrlbl_table.lock
HALF_LOCKED2 global &pernet_ops_rwsem
TYPE_LOCK (struct netns_ipv6)->ip6addrlbl_table.lock

security/selinux/avc.c avc_node_replace() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->next 0
PARAM_VALUE 1 new->pprev 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flag
LOCK2 lock
HALF_LOCKED2 rcu_read

net/ipv4/fib_trie.c fib_table_insert() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/ipv4/fib_trie.c fib_table_insert() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 0 old->pprev 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

net/rxrpc/local_object.c rxrpc_lookup_local() -> hlist_replace_rcu()

Type Parameter Key Value
PARAM_VALUE 0 old 1-u64max
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->next 0
PARAM_VALUE 1 new->pprev 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &rx->sk
LOCK2 &rxnet->local_mutex
TYPE_LOCK (struct rxrpc_net)->local_mutex
TYPE_LOCK (struct rxrpc_sock)->sk