Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

net/ceph/ceph_common.c ceph_create_client() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &client_mutex

drivers/net/wireguard/cookie.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value

fs/afs/cm_security.c afs_create_token_key() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pernet_ops_rwsem

drivers/crypto/intel/keembay/keembay-ocs-ecc.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/target/iscsi/iscsi_target_auth.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value

drivers/target/iscsi/iscsi_target_login.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value

drivers/net/wireguard/noise.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
LOCK2 &handshake->lock
LOCK2 &handshake->static_identity->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct noise_handshake)->lock
TYPE_LOCK (struct noise_static_identity)->lock

drivers/net/wireguard/noise.c wg_noise_handshake_create_initiation() -> wait_for_random_bytes()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/wireguard/noise.c wg_noise_handshake_create_response() -> wait_for_random_bytes()

Type Parameter Key Value
NOCHECK_CALL

crypto/dh.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &chip->ops_sem
HALF_LOCKED2 &chip->tpm_mutex

drivers/char/random.c __do_sys_getrandom() -> wait_for_random_bytes()

Type Parameter Key Value

drivers/char/random.c __do_sys_getrandom() -> wait_for_random_bytes()

Type Parameter Key Value

drivers/char/random.c random_read_iter() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

crypto/rng.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &crypto_default_rng_lock

crypto/geniv.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

crypto/ecc.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &chip->ops_sem
HALF_LOCKED2 &chip->tpm_mutex

security/keys/big_key.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &key_types_sem

security/keys/trusted-keys/trusted_core.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value

net/tipc/crypto.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

drivers/crypto/hisilicon/hpre/hpre_crypto.c get_random_bytes_wait() -> wait_for_random_bytes()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &chip->ops_sem
HALF_LOCKED2 &chip->tpm_mutex