Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- security/keys/gc.c, line 162
- security/keys/key.c
- security/keys/keyctl.c, line 1055
- security/keys/request_key.c, line 516
Smatch caller information:
security/keys/request_key.c construct_key_and_link() -> key_user_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | user | 4096-ptr_max |
| PARAM_VALUE | 0 | user->cons_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | user->cons_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | user->cons_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | user->cons_lock.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | user->cons_lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | user->cons_lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | user->cons_lock.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | user->cons_lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | user->cons_lock.osq.tail.counter | 0-s32max |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &idmap->idmap_mutex | ||
| HALF_LOCKED2 | global &key_types_sem |
security/keys/gc.c key_gc_unused_keys() -> key_user_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | user | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
security/keys/keyctl.c keyctl_chown_key() -> key_user_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | user | 4096-ptr_max |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | user->qnbytes |
security/keys/key.c key_alloc() -> key_user_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | user | 1-u64max |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| DATA_SOURCE | 0 | user | r key_user_lookup |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | user->qnbytes | |
| HALF_LOCKED2 | &keyring->sem | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &user->cons_lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &afs_key_lock | ||
| HALF_LOCKED2 | global &key_types_sem |
security/keys/key.c key_alloc() -> key_user_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | user | 1-u64max |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| DATA_SOURCE | 0 | user | r key_user_lookup |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | user->qnbytes | |
| HALF_LOCKED2 | &keyring->sem | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &user->cons_lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &afs_key_lock | ||
| HALF_LOCKED2 | global &key_types_sem |
security/keys/key.c key_alloc() -> key_user_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | user | 4096-ptr_max |
| PARAM_VALUE | 0 | user->lock.rlock.dep_map->name | 0-255 |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| BUF_SIZE | 0 | user | (-1)-0,272 |
| DATA_SOURCE | 0 | user | r key_user_lookup |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &keyring->sem | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &user->cons_lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &afs_key_lock | ||
| HALF_LOCKED2 | global &key_types_sem |