Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/wireguard/peerlookup.c wg_index_hashtable_insert() -> index_bucket()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index r get_random_u32
PREEMPT_ADD <- disables preempt
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
LOCK2 rcu_read
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_insert() -> index_bucket()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index r get_random_u32
PREEMPT_ADD <- disables preempt
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
LOCK2 rcu_read
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_insert() -> index_bucket()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index r get_random_u32
PREEMPT_ADD <- disables preempt
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
LOCK2 rcu_read
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_insert() -> index_bucket()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index r get_random_u32
PREEMPT_ADD <- disables preempt
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &table->lock
TYPE_LOCK (struct index_hashtable)->lock
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_insert() -> index_bucket()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index r get_random_u32
PREEMPT_ADD <- disables preempt
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &table->lock
TYPE_LOCK (struct index_hashtable)->lock
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_insert() -> index_bucket()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index r get_random_u32
PREEMPT_ADD <- disables preempt
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &table->lock
TYPE_LOCK (struct index_hashtable)->lock
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_insert() -> index_bucket()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index r get_random_u32
PREEMPT_ADD <- disables preempt
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &table->lock
TYPE_LOCK (struct index_hashtable)->lock
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_lookup() -> index_bucket()

Type Parameter Key Value
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 index 0-u32max[u]
LOCK2 rcu_read
HALF_LOCKED2 &wg->static_identity.lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_lookup() -> index_bucket()

Type Parameter Key Value
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 index 0-u32max[u]
LOCK2 rcu_read
HALF_LOCKED2 &wg->static_identity.lock

drivers/net/wireguard/peerlookup.c wg_index_hashtable_lookup() -> index_bucket()

Type Parameter Key Value
DATA_SOURCE 0 table $0
DATA_SOURCE 1 index $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 index 0-u32max[u]
LOCK2 rcu_read
HALF_LOCKED2 &wg->static_identity.lock