Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

fs/crypto/keyring.c get_keyring_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id s32min-(-1),1-s32max
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 4
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-(-1),1-s32max

security/keys/dh.c dh_data_from_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 2
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl_pkey.c keyctl_pkey_params_get() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 4
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

drivers/nvdimm/security.c nvdimm_lookup_user_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id s32min-(-1),1-s32max
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 4
DATA_SOURCE 0 id $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 id s32min-(-1),1-s32max
NO_OVERFLOW_SIMPLE 0 id
LOCK2 &dev->mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/crash_dump_dm_crypt.c restore_dm_crypt_keys_to_thread_keyring() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id (-4)
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

net/handshake/tlshd.c tls_handshake_private_keyring() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id (-2)
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/handshake/tlshd.c tls_handshake_private_keyring() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id s32min-(-1),1-s32max
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 5
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

security/keys/keyctl.c __do_sys_add_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $4
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c __do_sys_add_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $4
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c __do_sys_request_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id s32min-(-1),1-s32max
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $3
USER_DATA 0 id s32min-(-1),1-s32max

security/keys/keyctl.c __do_sys_request_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id s32min-(-1),1-s32max
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $3
USER_DATA 0 id s32min-(-1),1-s32max

security/keys/keyctl.c get_instantiation_keyring() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id 1-s32max
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $0
FUZZY_MAX 0 id 1
USER_DATA 0 id 1-s32max

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

Type Parameter Key Value
PARAM_VALUE 1 lflags 3
PARAM_VALUE 2 need_perm 6
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_describe_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 2
PARAM_VALUE 2 need_perm 1
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_describe_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 2
PARAM_VALUE 2 need_perm 9
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_get_keyring_ID() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0-1
PARAM_VALUE 2 need_perm 4
DATA_SOURCE 0 id $0
FUZZY_MAX 1 lflags 1
HARD_MAX 1 lflags 1
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_get_security() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 2
PARAM_VALUE 2 need_perm 1
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_get_security() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 2
PARAM_VALUE 2 need_perm 9
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_invalidate_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 4
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_invalidate_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 8
DATA_SOURCE 0 id $0
CAPABLE 0 21
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_clear() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_clear() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 8
DATA_SOURCE 0 id $0
CAPABLE 0 21
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_link() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $1
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_link() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 5
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_move() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 5
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_move() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $1
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_move() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $2
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_search() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 4
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_search() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id s32min-(-1),1-s32max
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $3
USER_DATA 0 id s32min-(-1),1-s32max

security/keys/keyctl.c keyctl_keyring_unlink() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $1
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_keyring_unlink() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 2
PARAM_VALUE 2 need_perm 7
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_read_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 10
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_restrict_keyring() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 6
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_revoke_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_revoke_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 6
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_session_to_parent() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id (-3)
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 5

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

Type Parameter Key Value
PARAM_VALUE 1 lflags 3
PARAM_VALUE 2 need_perm 6
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

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

Type Parameter Key Value
PARAM_VALUE 1 lflags 2
PARAM_VALUE 2 need_perm 9
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

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

Type Parameter Key Value
PARAM_VALUE 1 lflags 3
PARAM_VALUE 2 need_perm 6
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_update_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/keyctl.c keyctl_watch_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 1
DATA_SOURCE 0 id $0
USER_DATA 0 id s32min-s32max

security/keys/persistent.c keyctl_get_persistent() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 1
PARAM_VALUE 2 need_perm 3
DATA_SOURCE 0 id $1
USER_DATA 0 id s32min-s32max

crypto/af_alg.c lookup_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 4
DATA_SOURCE 0 id $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 id s32min-s32max
LOCK2 sk
HALF_LOCKED2 &smc->clcsock_release_lock

kernel/bpf/helpers.c bpf_lookup_user_key() -> lookup_user_key()

Type Parameter Key Value
PARAM_VALUE 0 id s32min-(-1),3-s32max
PARAM_VALUE 1 lflags 0
PARAM_VALUE 2 need_perm 10
DATA_SOURCE 0 id $0
DATA_SOURCE 1 lflags $1