Documented in 1 files:
Defined in 1 files as a function:
Referenced in 9 files:
- drivers/net/wireguard/peerlookup.c, line 178
- kernel/kprobes.c, line 1358
- kernel/pid.c, line 461
- net/ipv4/fib_frontend.c, line 171
- net/ipv4/fib_trie.c
- net/ipv6/addrlabel.c, line 214
- net/openvswitch/conntrack.c, line 889
- net/rxrpc/local_object.c, line 298
- security/selinux/avc.c, line 454
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 |