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_begin()
| 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 | 2670731003012833280 |
| PARAM_VALUE | 2 | *_edit | 0 |
| DATA_SOURCE | 0 | keyring | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | keyring->quotalen | |
| LOCK2 | &user->cons_lock | ||
| LOCK2 | global &key_construction_mutex | ||
| 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_begin()
| 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 | 2 | _edit | 2670731003012833280 |
| PARAM_VALUE | 2 | *_edit | 0 |
| DATA_SOURCE | 0 | keyring | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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_begin()
| 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 | 1 | index_key | 5936470887294271488 |
| 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 | 7794118225265389568 |
| PARAM_VALUE | 2 | *_edit | 0 |
| DATA_SOURCE | 0 | keyring | r key_ref_to_ptr |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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_instantiate_and_link() -> __key_link_begin()
| 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 | 4096-ptr_max |
| PARAM_VALUE | 2 | _edit | 3902931883866345472 |
| PARAM_VALUE | 2 | *_edit | 0 |
| BUF_SIZE | 0 | keyring | (-1)-s32max |
| BUF_SIZE | 0 | keyring | (-1)-s32max |
| DATA_SOURCE | 0 | keyring | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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_begin()
| 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 | 1 | index_key | 4096-ptr_max |
| PARAM_VALUE | 2 | _edit | 3463464789467828224 |
| PARAM_VALUE | 2 | *_edit | 0 |
| DATA_SOURCE | 0 | keyring | $3 |
| RX_PATH | |||
| LOCK2 | 0 | &keyring->sem | |
| TYPE_LOCK | (struct key)->sem |
security/keys/keyring.c key_link() -> __key_link_begin()
| 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 | 2 | _edit | 7393829948701548544 |
| PARAM_VALUE | 2 | *_edit | 0 |
| BUF_SIZE | 0 | keyring | (-1)-s32max |
| BUF_SIZE | 0 | keyring | (-1)-s32max |
| DATA_SOURCE | 0 | keyring | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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_begin()
| 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 | 1378343099394371584 |
| PARAM_VALUE | 2 | *_edit | 0 |
| CAPPED_DATA | 0 | keyring | 1 |
| DATA_SOURCE | 0 | keyring | $2 |
| LOCK2 | &from_keyring->sem | ||
| LOCK2 | 0 | &keyring->sem | |
| TYPE_LOCK | (struct key)->sem |