/linux-6.6.21/security/keys/ |
D | keyctl.c | 80 key_ref_t keyring_ref, key_ref; in SYSCALL_DEFINE5() local 134 key_ref = key_create_or_update(keyring_ref, type, description, in SYSCALL_DEFINE5() 137 if (!IS_ERR(key_ref)) { in SYSCALL_DEFINE5() 138 ret = key_ref_to_ptr(key_ref)->serial; in SYSCALL_DEFINE5() 139 key_ref_put(key_ref); in SYSCALL_DEFINE5() 142 ret = PTR_ERR(key_ref); in SYSCALL_DEFINE5() 260 key_ref_t key_ref; in keyctl_get_keyring_ID() local 265 key_ref = lookup_user_key(id, lflags, KEY_NEED_SEARCH); in keyctl_get_keyring_ID() 266 if (IS_ERR(key_ref)) { in keyctl_get_keyring_ID() 267 ret = PTR_ERR(key_ref); in keyctl_get_keyring_ID() [all …]
|
D | process_keys.c | 425 key_ref_t key_ref, ret, err; in search_cred_keyrings_rcu() local 435 key_ref = NULL; in search_cred_keyrings_rcu() 441 key_ref = keyring_search_rcu( in search_cred_keyrings_rcu() 443 if (!IS_ERR(key_ref)) in search_cred_keyrings_rcu() 446 switch (PTR_ERR(key_ref)) { in search_cred_keyrings_rcu() 449 ret = key_ref; in search_cred_keyrings_rcu() 452 err = key_ref; in search_cred_keyrings_rcu() 459 key_ref = keyring_search_rcu( in search_cred_keyrings_rcu() 461 if (!IS_ERR(key_ref)) in search_cred_keyrings_rcu() 464 switch (PTR_ERR(key_ref)) { in search_cred_keyrings_rcu() [all …]
|
D | key.c | 749 static inline key_ref_t __key_update(key_ref_t key_ref, in __key_update() argument 752 struct key *key = key_ref_to_ptr(key_ref); in __key_update() 756 ret = key_permission(key_ref, KEY_NEED_WRITE); in __key_update() 778 return key_ref; in __key_update() 782 key_ref = ERR_PTR(ret); in __key_update() 806 key_ref_t key_ref; in __key_create_or_update() local 814 key_ref = ERR_PTR(-ENODEV); in __key_create_or_update() 818 key_ref = ERR_PTR(-EINVAL); in __key_create_or_update() 830 key_ref = ERR_PTR(-ENOTDIR); in __key_create_or_update() 843 key_ref = ERR_PTR(ret); in __key_create_or_update() [all …]
|
D | request_key.c | 378 key_ref_t key_ref; in construct_alloc_key() local 422 key_ref = search_process_keyrings_rcu(ctx); in construct_alloc_key() 424 if (!IS_ERR(key_ref)) in construct_alloc_key() 447 key = key_ref_to_ptr(key_ref); in construct_alloc_key() 597 key_ref_t key_ref; in request_key_and_link() local 618 key_ref = search_process_keyrings_rcu(&ctx); in request_key_and_link() 621 if (!IS_ERR(key_ref)) { in request_key_and_link() 623 ret = key_task_permission(key_ref, current_cred(), in request_key_and_link() 626 key_ref_put(key_ref); in request_key_and_link() 632 key = key_ref_to_ptr(key_ref); in request_key_and_link() [all …]
|
D | permission.c | 26 int key_task_permission(const key_ref_t key_ref, const struct cred *cred, in key_task_permission() argument 51 key = key_ref_to_ptr(key_ref); in key_task_permission() 82 if (is_key_possessed(key_ref)) in key_task_permission() 90 return security_key_permission(key_ref, cred, need_perm); in key_task_permission()
|
D | keyctl_pkey.c | 82 key_ref_t key_ref; in keyctl_pkey_params_get() local 98 key_ref = lookup_user_key(id, 0, KEY_NEED_SEARCH); in keyctl_pkey_params_get() 99 if (IS_ERR(key_ref)) in keyctl_pkey_params_get() 100 return PTR_ERR(key_ref); in keyctl_pkey_params_get() 101 params->key = key_ref_to_ptr(key_ref); in keyctl_pkey_params_get()
|
D | dh.c | 21 key_ref_t key_ref; in dh_data_from_key() local 25 key_ref = lookup_user_key(keyid, 0, KEY_NEED_READ); in dh_data_from_key() 26 if (IS_ERR(key_ref)) { in dh_data_from_key() 31 key = key_ref_to_ptr(key_ref); in dh_data_from_key()
|
D | proc.c | 158 key_ref_t key_ref, skey_ref; in proc_keys_show() local 175 key_ref = make_key_ref(key, 0); in proc_keys_show() 186 key_ref = make_key_ref(key, 1); in proc_keys_show() 191 rc = key_task_permission(key_ref, ctx.cred, KEY_NEED_VIEW); in proc_keys_show()
|
D | internal.h | 182 extern int key_task_permission(const key_ref_t key_ref, 206 static inline int key_permission(const key_ref_t key_ref, in key_permission() argument 209 return key_task_permission(key_ref, current_cred(), need_perm); in key_permission()
|
/linux-6.6.21/include/linux/ |
D | key.h | 161 static inline struct key *key_ref_to_ptr(const key_ref_t key_ref) in key_ref_to_ptr() argument 163 return (struct key *) ((unsigned long) key_ref & ~1UL); in key_ref_to_ptr() 166 static inline bool is_key_possessed(const key_ref_t key_ref) in is_key_possessed() argument 168 return (unsigned long) key_ref & 1UL; in is_key_possessed() 317 static inline void key_ref_put(key_ref_t key_ref) in key_ref_put() argument 319 key_put(key_ref_to_ptr(key_ref)); in key_ref_put()
|
D | security.h | 1921 int security_key_permission(key_ref_t key_ref, const struct cred *cred, 1938 static inline int security_key_permission(key_ref_t key_ref, in security_key_permission() argument
|
D | lsm_hook_defs.h | 386 LSM_HOOK(int, 0, key_permission, key_ref_t key_ref, const struct cred *cred,
|
/linux-6.6.21/crypto/ |
D | af_alg.c | 277 key_ref_t key_ref; in lookup_key() local 279 key_ref = lookup_user_key(serial, 0, KEY_NEED_SEARCH); in lookup_key() 280 if (IS_ERR(key_ref)) in lookup_key() 281 return ERR_CAST(key_ref); in lookup_key() 283 return key_ref_to_ptr(key_ref); in lookup_key()
|
/linux-6.6.21/kernel/trace/ |
D | bpf_trace.c | 1286 key_ref_t key_ref; in bpf_lookup_user_key() local 1296 key_ref = lookup_user_key(serial, flags, KEY_DEFER_PERM_CHECK); in bpf_lookup_user_key() 1297 if (IS_ERR(key_ref)) in bpf_lookup_user_key() 1302 key_put(key_ref_to_ptr(key_ref)); in bpf_lookup_user_key() 1306 bkey->key = key_ref_to_ptr(key_ref); in bpf_lookup_user_key()
|
/linux-6.6.21/security/ |
D | security.c | 5086 int security_key_permission(key_ref_t key_ref, const struct cred *cred, in security_key_permission() argument 5089 return call_int_hook(key_permission, 0, key_ref, cred, need_perm); in security_key_permission()
|
/linux-6.6.21/security/smack/ |
D | smack_lsm.c | 4422 static int smack_key_permission(key_ref_t key_ref, in smack_key_permission() argument 4456 keyp = key_ref_to_ptr(key_ref); in smack_key_permission()
|
/linux-6.6.21/Documentation/security/keys/ |
D | core.rst | 1130 struct key *key_ref_to_ptr(const key_ref_t key_ref); 1132 bool is_key_possessed(const key_ref_t key_ref); 1211 void key_ref_put(key_ref_t key_ref);
|
/linux-6.6.21/security/selinux/ |
D | hooks.c | 6590 static int selinux_key_permission(key_ref_t key_ref, in selinux_key_permission() argument 6629 key = key_ref_to_ptr(key_ref); in selinux_key_permission()
|