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 |