Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

security/keys/request_key.c construct_alloc_key() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->sem.first_waiter->type 0-1
PARAM_VALUE 1 index_key 4096-ptr_max
PARAM_VALUE 1 index_key->description 1-u64max
PARAM_VALUE 1 index_key->type 4096-ptr_max
PARAM_VALUE 2 edit 0
DATA_SOURCE 0 keyring $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
LOCK2 &user->cons_lock
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem
HALF_LOCKED2 0 &keyring->sem
TYPE_LOCK (struct key_user)->cons_lock

security/keys/request_key.c construct_alloc_key() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->datalen 4-u16max
PARAM_VALUE 0 keyring->sem.first_waiter->type 0-1
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 index_key 4096-ptr_max
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 2 edit 0,4096-ptr_max
PARAM_VALUE 2 edit->adjust_count_by 1
PARAM_VALUE 2 edit->ops 3267637752487555072
DATA_SOURCE 0 keyring $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
LOCK2 &user->cons_lock
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem
HALF_LOCKED2 0 &keyring->sem
TYPE_LOCK (struct key_user)->cons_lock

security/keys/request_key.c construct_alloc_key() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->sem.first_waiter->type 0-1
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 index_key 4096-ptr_max
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 2 edit 0
DATA_SOURCE 0 keyring $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
LOCK2 &user->cons_lock
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem
HALF_LOCKED2 0 &keyring->sem
TYPE_LOCK (struct key_user)->cons_lock

security/keys/key.c __key_create_or_update() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
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->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 keyring->type 9142442151112187904
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 index_key 5936470887294271488
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 1 index_key->description 1-u64max
PARAM_VALUE 1 index_key->type 4096-ptr_max
PARAM_VALUE 1 index_key->x 0
PARAM_VALUE 2 edit 0,4096-ptr_max
PARAM_VALUE 2 edit->adjust_count_by 1
PARAM_VALUE 2 edit->ops 3267637752487555072
CAPPED_DATA 0 keyring 1
DATA_SOURCE 0 keyring r key_ref_to_ptr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_PTR 1 index_key->description
LOCK2 global &key_types_sem
LOCK2 0 &keyring->sem
TYPE_LOCK (struct key)->sem

security/keys/key.c __key_create_or_update() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->datalen 4-u16max
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
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->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 keyring->type 9142442151112187904
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 index_key 5936470887294271488
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 1 index_key->description 1-u64max
PARAM_VALUE 1 index_key->type 4096-ptr_max
PARAM_VALUE 1 index_key->x 0
PARAM_VALUE 2 edit 4096-ptr_max
PARAM_VALUE 2 edit->adjust_count_by 1
PARAM_VALUE 2 edit->ops 3267637752487555072
CAPPED_DATA 0 keyring 1
DATA_SOURCE 0 keyring r key_ref_to_ptr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_PTR 1 index_key->description
LOCK2 global &key_types_sem
LOCK2 0 &keyring->sem
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
TYPE_LOCK (struct key)->sem

security/keys/key.c key_instantiate_and_link() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
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->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 index_key 4096-ptr_max
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 2 edit 0,4096-ptr_max
PARAM_VALUE 2 edit->adjust_count_by 1
PARAM_VALUE 2 edit->ops 3267637752487555072
BUF_SIZE 0 keyring (-1)-s32max
BUF_SIZE 0 keyring (-1)-s32max
CAPPED_DATA 0 keyring 1
DATA_SOURCE 0 keyring $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
LOCK2 0 &keyring->sem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct key)->sem

security/keys/key.c key_reject_and_link() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link 0
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
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->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 index_key 4096-ptr_max
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 2 edit 0
DATA_SOURCE 0 keyring $3
RX_PATH
NOCHECK_CALL
LOCK2 0 &keyring->sem
TYPE_LOCK (struct key)->sem

security/keys/key.c key_reject_and_link() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->datalen 4-u16max
PARAM_VALUE 0 keyring->restrict_link 0
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->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 0 keyring->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 index_key 4096-ptr_max
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 2 edit 0,4096-ptr_max
PARAM_VALUE 2 edit->adjust_count_by 1
PARAM_VALUE 2 edit->ops 3267637752487555072
DATA_SOURCE 0 keyring $3
RX_PATH
NOCHECK_CALL
LOCK2 0 &keyring->sem
TYPE_LOCK (struct key)->sem

security/keys/keyring.c key_link() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 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->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 1 index_key 264,4096-ptr_max
PARAM_VALUE 1 index_key->desc_len 1-u16max
PARAM_VALUE 2 edit 0,4096-ptr_max
PARAM_VALUE 2 edit->adjust_count_by 1
PARAM_VALUE 2 edit->ops 3267637752487555072
BUF_SIZE 0 keyring (-1)-s32max
BUF_SIZE 0 keyring (-1)-s32max
DATA_SOURCE 0 keyring $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
LOCK2 0 &keyring->sem
HALF_LOCKED2 &user_ns->keyring_sem
HALF_LOCKED2 global &key_types_sem
TYPE_LOCK (struct key)->sem

security/keys/keyring.c key_move() -> __key_link_end()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->sem.dep_map->name 0-255
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->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 keyring->type 4096-ptr_max
PARAM_VALUE 1 index_key 264,4096-ptr_max
PARAM_VALUE 2 edit 0,4096-ptr_max
PARAM_VALUE 2 edit->adjust_count_by 1
PARAM_VALUE 2 edit->ops 3267637752487555072
CAPPED_DATA 0 keyring 1
DATA_SOURCE 0 keyring $2
NOCHECK_CALL
LOCK2 &from_keyring->sem
LOCK2 0 &keyring->sem
TYPE_LOCK (struct key)->sem