Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

security/keys/request_key.c call_sbin_request_key() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->domain_tag 4096-ptr_max
PARAM_VALUE 0 keyring->index_key->desc 0-255
PARAM_VALUE 0 keyring->index_key.description 1-u64max
PARAM_VALUE 0 keyring->index_key.domain_tag->rcu.func 0
PARAM_VALUE 0 keyring->index_key.domain_tag->rcu.next 0
PARAM_VALUE 0 keyring->index_key.domain_tag->removed 0
PARAM_VALUE 0 keyring->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 0 keyring->index_key.type 4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link 0,4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 0 keyring->security 0,4096-ptr_max
PARAM_VALUE 0 keyring->sem.count.counter 0
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
PARAM_VALUE 0 keyring->sem.first_waiter 0
PARAM_VALUE 0 keyring->sem.magic 4096-ptr_max
PARAM_VALUE 0 keyring->sem.osq.tail.counter 0
PARAM_VALUE 0 keyring->sem.owner.counter 0
PARAM_VALUE 0 keyring->serial 3-s32max
PARAM_VALUE 0 keyring->serial_node.__rb_parent_color 1
PARAM_VALUE 0 keyring->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 0 keyring->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user 1-u64max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 key 4096-ptr_max
PARAM_VALUE 1 key->domain_tag 4096-ptr_max
PARAM_VALUE 1 key->index_key->desc 0-255
PARAM_VALUE 1 key->index_key.description 1-u64max
PARAM_VALUE 1 key->index_key.domain_tag->rcu.func 0
PARAM_VALUE 1 key->index_key.domain_tag->rcu.next 0
PARAM_VALUE 1 key->index_key.domain_tag->removed 0
PARAM_VALUE 1 key->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 1 key->index_key.type 4096-ptr_max
PARAM_VALUE 1 key->restrict_link 0,4096-ptr_max
PARAM_VALUE 1 key->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 1 key->security 0,4096-ptr_max
PARAM_VALUE 1 key->sem.count.counter 0
PARAM_VALUE 1 key->sem.dep_map->name 0-255
PARAM_VALUE 1 key->sem.first_waiter 0
PARAM_VALUE 1 key->sem.magic 4096-ptr_max
PARAM_VALUE 1 key->sem.osq.tail.counter 0
PARAM_VALUE 1 key->sem.owner.counter 0
PARAM_VALUE 1 key->serial 3-s32max
PARAM_VALUE 1 key->serial_node.__rb_parent_color 1
PARAM_VALUE 1 key->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 1 key->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 1 key->type 4096-ptr_max
PARAM_VALUE 1 key->user 1-u64max
PARAM_VALUE 1 key->user->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 keyring r keyring_alloc
DATA_SOURCE 1 key $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
NO_OVERFLOW_SIMPLE 1 key->quotalen
NO_OVERFLOW_SIMPLE 1 key->user->qnbytes
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

security/keys/request_key.c request_key_and_link() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 1 key 0,4096-ptr_max
DATA_SOURCE 0 keyring $6
DATA_SOURCE 1 key r key_ref_to_ptr
RX_PATH
LOCK2 global &key_types_sem

net/handshake/tlshd.c tls_handshake_private_keyring() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 0,4096-ptr_max
PARAM_VALUE 1 key 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
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

net/rxrpc/rxperf.c rxperf_add_rxkad_key() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->domain_tag 4096-ptr_max
PARAM_VALUE 0 keyring->index_key->desc 0-255
PARAM_VALUE 0 keyring->index_key.description 1-u64max
PARAM_VALUE 0 keyring->index_key.domain_tag->rcu.func 0
PARAM_VALUE 0 keyring->index_key.domain_tag->rcu.next 0
PARAM_VALUE 0 keyring->index_key.domain_tag->removed 0
PARAM_VALUE 0 keyring->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 0 keyring->index_key.type 4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link 0,4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 0 keyring->security 0,4096-ptr_max
PARAM_VALUE 0 keyring->sem.count.counter 0
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
PARAM_VALUE 0 keyring->sem.first_waiter 0
PARAM_VALUE 0 keyring->sem.magic 4096-ptr_max
PARAM_VALUE 0 keyring->sem.osq.tail.counter 0
PARAM_VALUE 0 keyring->sem.owner.counter 0
PARAM_VALUE 0 keyring->serial 3-s32max
PARAM_VALUE 0 keyring->serial_node.__rb_parent_color 1
PARAM_VALUE 0 keyring->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 0 keyring->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user 1-u64max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 key 4096-ptr_max
DATA_SOURCE 0 keyring $0
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes

net/rxrpc/rxperf.c rxperf_add_yfs_rxgk_key() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->domain_tag 4096-ptr_max
PARAM_VALUE 0 keyring->index_key->desc 0-255
PARAM_VALUE 0 keyring->index_key.description 1-u64max
PARAM_VALUE 0 keyring->index_key.domain_tag->rcu.func 0
PARAM_VALUE 0 keyring->index_key.domain_tag->rcu.next 0
PARAM_VALUE 0 keyring->index_key.domain_tag->removed 0
PARAM_VALUE 0 keyring->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 0 keyring->index_key.type 4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link 0,4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 0 keyring->security 0,4096-ptr_max
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
PARAM_VALUE 0 keyring->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 keyring->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 keyring->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 keyring->sem.first_waiter->type 0-1
PARAM_VALUE 0 keyring->serial 3-s32max
PARAM_VALUE 0 keyring->serial_node.__rb_parent_color 1
PARAM_VALUE 0 keyring->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 0 keyring->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user 1-u64max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 keyring->user->qnbytes s32min-s32max
PARAM_VALUE 1 key 4096-ptr_max
CAPPED_DATA 0 keyring 1
DATA_SOURCE 0 keyring $0
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes

security/keys/keyctl.c keyctl_keyring_link() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 0,4096-ptr_max
PARAM_VALUE 1 key 0,4096-ptr_max

security/keys/keyctl.c keyctl_keyring_search() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 0,4096-ptr_max
PARAM_VALUE 1 key 4096-ptr_max
LOCK2 global &key_types_sem

security/keys/persistent.c key_get_persistent() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 0,4096-ptr_max
PARAM_VALUE 1 key 0,2-u64max
DATA_SOURCE 1 key r key_ref_to_ptr

certs/system_keyring.c set_machine_trusted_keys() -> key_link()

Type Parameter Key Value
PARAM_VALUE 1 key 4096-ptr_max
DATA_SOURCE 1 key $0

certs/system_keyring.c system_trusted_keyring_init() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->domain_tag 4096-ptr_max
PARAM_VALUE 0 keyring->index_key->desc 0-255
PARAM_VALUE 0 keyring->index_key.description 1-u64max
PARAM_VALUE 0 keyring->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 0 keyring->index_key.type 4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link 0,4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 0 keyring->security 0,4096-ptr_max
PARAM_VALUE 0 keyring->sem.count.counter 0
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
PARAM_VALUE 0 keyring->sem.first_waiter 0
PARAM_VALUE 0 keyring->sem.magic 4096-ptr_max
PARAM_VALUE 0 keyring->sem.osq.tail.counter 0
PARAM_VALUE 0 keyring->sem.owner.counter 0
PARAM_VALUE 0 keyring->serial 3-s32max
PARAM_VALUE 0 keyring->serial_node.__rb_parent_color 1
PARAM_VALUE 0 keyring->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 0 keyring->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user 1-u64max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 key 4096-ptr_max
PARAM_VALUE 1 key->domain_tag 4096-ptr_max
PARAM_VALUE 1 key->index_key->desc 0-255
PARAM_VALUE 1 key->index_key.description 1-u64max
PARAM_VALUE 1 key->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 1 key->index_key.type 4096-ptr_max
PARAM_VALUE 1 key->restrict_link 0,4096-ptr_max
PARAM_VALUE 1 key->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 1 key->security 0,4096-ptr_max
PARAM_VALUE 1 key->sem.count.counter 0
PARAM_VALUE 1 key->sem.dep_map->name 0-255
PARAM_VALUE 1 key->sem.first_waiter 0
PARAM_VALUE 1 key->sem.magic 4096-ptr_max
PARAM_VALUE 1 key->sem.owner.counter 0
PARAM_VALUE 1 key->serial 3-s32max
PARAM_VALUE 1 key->serial_node.__rb_parent_color 1
PARAM_VALUE 1 key->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 1 key->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 1 key->type 4096-ptr_max
PARAM_VALUE 1 key->user 1-u64max
PARAM_VALUE 1 key->user->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 keyring r keyring_alloc
DATA_SOURCE 1 key r keyring_alloc
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
NO_OVERFLOW_SIMPLE 1 key->quotalen
NO_OVERFLOW_SIMPLE 1 key->user->qnbytes

security/keys/process_keys.c look_up_user_keyrings() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->domain_tag 4096-ptr_max
PARAM_VALUE 0 keyring->index_key->desc 0-255
PARAM_VALUE 0 keyring->index_key.description 1-u64max
PARAM_VALUE 0 keyring->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 0 keyring->index_key.type 4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link 0,4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 0 keyring->security 0,4096-ptr_max
PARAM_VALUE 0 keyring->sem.count.counter 0
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
PARAM_VALUE 0 keyring->sem.first_waiter 0
PARAM_VALUE 0 keyring->sem.magic 4096-ptr_max
PARAM_VALUE 0 keyring->sem.osq.tail.counter 0
PARAM_VALUE 0 keyring->sem.owner.counter 0
PARAM_VALUE 0 keyring->serial 3-s32max
PARAM_VALUE 0 keyring->serial_node.__rb_parent_color 1
PARAM_VALUE 0 keyring->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 0 keyring->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user 1-u64max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 key 4096-ptr_max
DATA_SOURCE 0 keyring r keyring_alloc
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
NO_OVERFLOW_SIMPLE 1 key->quotalen
NO_OVERFLOW_SIMPLE 1 key->user->qnbytes
LOCK2 &user_ns->keyring_sem
TYPE_LOCK (struct user_namespace)->keyring_sem

security/keys/process_keys.c look_up_user_keyrings() -> key_link()

Type Parameter Key Value
PARAM_VALUE 0 keyring 0-ptr_max
PARAM_VALUE 0 keyring->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 keyring->sem.first_waiter->type 0-1
PARAM_VALUE 1 key 4096-ptr_max
PARAM_VALUE 1 key->domain_tag 4096-ptr_max
PARAM_VALUE 1 key->index_key->desc 0-255
PARAM_VALUE 1 key->index_key.description 1-u64max
PARAM_VALUE 1 key->index_key.domain_tag->usage.refs.counter 1
PARAM_VALUE 1 key->index_key.type 4096-ptr_max
PARAM_VALUE 1 key->restrict_link 0,4096-ptr_max
PARAM_VALUE 1 key->restrict_link->check 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976
PARAM_VALUE 1 key->security 0,4096-ptr_max
PARAM_VALUE 1 key->sem.dep_map->name 0-255
PARAM_VALUE 1 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 key->sem.first_waiter->type 0-1
PARAM_VALUE 1 key->serial 3-s32max
PARAM_VALUE 1 key->serial_node.__rb_parent_color 1
PARAM_VALUE 1 key->serial_node.rb_left 4096-ptr_max
PARAM_VALUE 1 key->serial_node.rb_right 4096-ptr_max
PARAM_VALUE 1 key->type 4096-ptr_max
PARAM_VALUE 1 key->user 1-u64max
PARAM_VALUE 1 key->user->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 keyring (-1)-s32max
BUF_SIZE 0 keyring (-1)-s32max
CAPPED_DATA 1 key 1
DATA_SOURCE 1 key r keyring_alloc
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
NO_OVERFLOW_SIMPLE 1 key->quotalen
NO_OVERFLOW_SIMPLE 1 key->user->qnbytes
LOCK2 &user_ns->keyring_sem
TYPE_LOCK (struct user_namespace)->keyring_sem