Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

security/keys/request_key_auth.c key_is_positive() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

security/keys/user_defined.c key_is_positive() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 key->datalen 0-u16max[c]
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &key->sem

fs/crypto/keyring.c key_is_positive() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

security/keys/request_key.c wait_for_key_construction() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
BUF_SIZE 0 key (-1)-s32max
BUF_SIZE 0 key (-1)-s32max
DATA_SOURCE 0 key $0
NOSPEC 0 key->serial
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 key->serial 1-s32max[c]
NO_OVERFLOW_SIMPLE 0 key->quotalen
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

security/keys/encrypted-keys/encrypted.c key_is_negative() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &key->sem
HALF_LOCKED2 global &key_types_sem
TYPE_LOCK (struct key)->sem

security/keys/proc.c proc_keys_show() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

security/keys/keyctl.c keyctl_read_key() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 0,4096-ptr_max
DATA_SOURCE 0 key r key_ref_to_ptr

security/keys/keyring.c key_is_positive() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

security/keys/keyring.c keyring_search_iterator() -> key_read_state()

Type Parameter Key Value
DATA_SOURCE 0 key r keyring_ptr_to_key
RX_PATH
TASK_NOT_RUNNING

security/keys/big_key.c key_is_positive() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
BUF_SIZE 0 key (-1),1-s32max
BUF_SIZE 0 key (-1),1-s32max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 key->datalen 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &key->sem

security/keys/trusted-keys/trusted_core.c key_is_negative() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &key->sem
HALF_LOCKED2 global &key_types_sem
TYPE_LOCK (struct key)->sem

security/keys/process_keys.c lookup_user_key() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
CAPPED_DATA 0 key->serial 1
NOSPEC 0 key->serial
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 key->serial 1-s32max[c]
NO_OVERFLOW_SIMPLE 0 key->quotalen
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

net/dns_resolver/dns_key.c key_is_positive() -> key_read_state()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock