Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

security/keys/keyctl.c keyctl_chown_key() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 key->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 key->sem.wait_lock.owner (-1)
PARAM_VALUE 0 key->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 subtype 7
PARAM_VALUE 2 aux 0
BUF_SIZE 0 key->user (-1)-0,272
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key r key_ref_to_ptr
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 0 &key->sem
TYPE_LOCK (struct key)->sem

security/keys/keyctl.c keyctl_set_timeout() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 1
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 1 subtype 7
PARAM_VALUE 2 aux 0
DATA_SOURCE 0 key r key_ref_to_ptr
NOCHECK_CALL

security/keys/keyctl.c keyctl_setperm_key() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->perm 0-1073741822
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 key->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 key->sem.wait_lock.owner (-1)
PARAM_VALUE 0 key->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 subtype 7
PARAM_VALUE 2 aux 0
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key r key_ref_to_ptr
BIT_INFO 0 key->perm 0x0,0x3f3f3f3f
NOCHECK_CALL
USER_DATA 0 key->perm 0-1073741822
LOCK2 0 &key->sem
TYPE_LOCK (struct key)->sem

security/keys/key.c __key_instantiate_and_link() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->state 1
PARAM_VALUE 0 key->type 4096-ptr_max
PARAM_VALUE 0 key->user 4096-ptr_max
PARAM_VALUE 1 subtype 0
PARAM_VALUE 2 aux 0
DATA_SOURCE 0 key $0
STR_LEN 0 key (-1)-127
STR_LEN 0 key (-1)-127
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 key->datalen 0[c]
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 global &key_construction_mutex
HALF_LOCKED2 &keyring->sem
HALF_LOCKED2 global &key_types_sem

security/keys/key.c __key_update() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->datalen 0,53-u16max
PARAM_VALUE 0 key->payload.rcu_data0 0,4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 key->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 key->sem.wait_lock.owner (-1)
PARAM_VALUE 0 key->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 key->state 1
PARAM_VALUE 0 key->type 4096-ptr_max
PARAM_VALUE 0 key->type->update 1-u64max
PARAM_VALUE 0 key->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 subtype 1
PARAM_VALUE 2 aux 0
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key r key_ref_to_ptr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 key->datalen 0[c]
LOCK2 global &key_types_sem
LOCK2 0 &key->sem
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
TYPE_LOCK (struct key)->sem

security/keys/key.c key_invalidate() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 1 subtype 6
PARAM_VALUE 2 aux 0
BUF_SIZE 0 key (-1)-s32max
BUF_SIZE 0 key (-1)-s32max
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 0 &key->sem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ses->session_mutex
HALF_LOCKED2 global &key_construction_mutex
TYPE_LOCK (struct key)->sem

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

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->user 4096-ptr_max
PARAM_VALUE 1 subtype 0
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 aux 0-u32max
NO_OVERFLOW_SIMPLE 0 key->quotalen
LOCK2 global &key_construction_mutex
HALF_LOCKED2 &keyring->sem

security/keys/key.c key_revoke() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 key->sem.wait_lock.owner (-1)
PARAM_VALUE 0 key->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 subtype 5
PARAM_VALUE 2 aux 0
BUF_SIZE 0 key (-1)-s32max
BUF_SIZE 0 key (-1)-s32max
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 0 &key->sem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &afs_key_lock
TYPE_LOCK (struct key)->sem

security/keys/key.c key_update() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->payload.rcu_data0 0,4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 key->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 key->sem.wait_lock.owner (-1)
PARAM_VALUE 0 key->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 key->state 1
PARAM_VALUE 0 key->type 4096-ptr_max
PARAM_VALUE 0 key->type->update 1-u64max
PARAM_VALUE 0 key->user->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 subtype 1
PARAM_VALUE 2 aux 0
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key r key_ref_to_ptr
NOCHECK_CALL
USER_DATA 0 key->datalen 0-u16max[c]
LOCK2 0 &key->sem
TYPE_LOCK (struct key)->sem

security/keys/keyring.c __key_link() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->datalen 4-u16max
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 1 subtype 2
BUF_SIZE 0 key (-1)-s32max
BUF_SIZE 0 key (-1)-s32max
CAPPED_DATA 0 key 1
DATA_SOURCE 0 key $0
STR_LEN 0 key (-1)-127
STR_LEN 0 key (-1)-127
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
HALF_LOCKED2 &from_keyring->sem
HALF_LOCKED2 &user->cons_lock
HALF_LOCKED2 global &key_construction_mutex
HALF_LOCKED2 0 &key->sem

security/keys/keyring.c __key_unlink() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 key->type 4096-ptr_max
PARAM_VALUE 1 subtype 3
CAPPED_DATA 0 key 1
DATA_SOURCE 0 key $0
NOCHECK_CALL
LOCK2 0 &key->sem
HALF_LOCKED2 &to_keyring->sem
TYPE_LOCK (struct key)->sem

security/keys/keyring.c keyring_clear() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 key->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 key->sem.wait_lock.owner (-1)
PARAM_VALUE 0 key->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 key->type 9142442151112187904
PARAM_VALUE 1 subtype 4
PARAM_VALUE 2 aux 0
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key $0
NOCHECK_CALL
LOCK2 0 &key->sem
TYPE_LOCK (struct key)->sem

security/keys/keyring.c keyring_restrict() -> notify_key()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->restrict_link 4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PARAM_VALUE 0 key->sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 key->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 key->sem.wait_lock.owner (-1)
PARAM_VALUE 0 key->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 key->type 9142442151112187904
PARAM_VALUE 1 subtype 7
PARAM_VALUE 2 aux 0
BUF_SIZE 0 key->restrict_link 24
CAPPED_DATA 0 &key->sem 1
DATA_SOURCE 0 key r key_ref_to_ptr
NOCHECK_CALL
LOCK2 global &keyring_serialise_restrict_sem
LOCK2 0 &key->sem
HALF_LOCKED2 global &key_types_sem
TYPE_LOCK (struct key)->sem