keyring 310 certs/system_keyring.c void __init set_platform_trusted_keys(struct key *keyring) keyring 312 certs/system_keyring.c platform_trusted_keys = keyring; keyring 46 crypto/asymmetric_keys/asymmetric_type.c struct key *find_asymmetric_key(struct key *keyring, keyring 85 crypto/asymmetric_keys/asymmetric_type.c ref = keyring_search(make_key_ref(keyring, 1), keyring 193 fs/cifs/cifs_spnego.c struct key *keyring; keyring 208 fs/cifs/cifs_spnego.c keyring = keyring_alloc(".cifs_spnego", keyring 213 fs/cifs/cifs_spnego.c if (IS_ERR(keyring)) { keyring 214 fs/cifs/cifs_spnego.c ret = PTR_ERR(keyring); keyring 226 fs/cifs/cifs_spnego.c set_bit(KEY_FLAG_ROOT_CAN_CLEAR, &keyring->flags); keyring 227 fs/cifs/cifs_spnego.c cred->thread_keyring = keyring; keyring 231 fs/cifs/cifs_spnego.c cifs_dbg(FYI, "cifs spnego keyring: %d\n", key_serial(keyring)); keyring 235 fs/cifs/cifs_spnego.c key_put(keyring); keyring 466 fs/cifs/cifsacl.c struct key *keyring; keyring 482 fs/cifs/cifsacl.c keyring = keyring_alloc(".cifs_idmap", keyring 487 fs/cifs/cifsacl.c if (IS_ERR(keyring)) { keyring 488 fs/cifs/cifsacl.c ret = PTR_ERR(keyring); keyring 498 fs/cifs/cifsacl.c set_bit(KEY_FLAG_ROOT_CAN_CLEAR, &keyring->flags); keyring 499 fs/cifs/cifsacl.c cred->thread_keyring = keyring; keyring 503 fs/cifs/cifsacl.c cifs_dbg(FYI, "cifs idmap keyring: %d\n", key_serial(keyring)); keyring 507 fs/cifs/cifsacl.c key_put(keyring); keyring 131 fs/crypto/keyring.c static struct key *search_fscrypt_keyring(struct key *keyring, keyring 139 fs/crypto/keyring.c key_ref_t keyref = make_key_ref(keyring, true /* possessed */); keyring 199 fs/crypto/keyring.c struct key *keyring; keyring 205 fs/crypto/keyring.c keyring = keyring_alloc(description, GLOBAL_ROOT_UID, GLOBAL_ROOT_GID, keyring 209 fs/crypto/keyring.c if (IS_ERR(keyring)) keyring 210 fs/crypto/keyring.c return PTR_ERR(keyring); keyring 213 fs/crypto/keyring.c smp_store_release(&sb->s_master_keys, keyring); keyring 230 fs/crypto/keyring.c struct key *keyring; keyring 234 fs/crypto/keyring.c keyring = READ_ONCE(sb->s_master_keys); keyring 235 fs/crypto/keyring.c if (keyring == NULL) keyring 239 fs/crypto/keyring.c return search_fscrypt_keyring(keyring, &key_type_fscrypt, description); keyring 245 fs/crypto/keyring.c struct key *keyring; keyring 249 fs/crypto/keyring.c keyring = keyring_alloc(description, GLOBAL_ROOT_UID, GLOBAL_ROOT_GID, keyring 253 fs/crypto/keyring.c if (IS_ERR(keyring)) keyring 254 fs/crypto/keyring.c return PTR_ERR(keyring); keyring 256 fs/crypto/keyring.c mk->mk_users = keyring; keyring 323 fs/crypto/keyring.c struct key *keyring) keyring 366 fs/crypto/keyring.c err = key_instantiate_and_link(key, mk, sizeof(*mk), keyring, NULL); keyring 199 fs/nfs/nfs4idmap.c struct key *keyring; keyring 209 fs/nfs/nfs4idmap.c keyring = keyring_alloc(".id_resolver", keyring 214 fs/nfs/nfs4idmap.c if (IS_ERR(keyring)) { keyring 215 fs/nfs/nfs4idmap.c ret = PTR_ERR(keyring); keyring 227 fs/nfs/nfs4idmap.c set_bit(KEY_FLAG_ROOT_CAN_CLEAR, &keyring->flags); keyring 228 fs/nfs/nfs4idmap.c cred->thread_keyring = keyring; keyring 236 fs/nfs/nfs4idmap.c key_put(keyring); keyring 75 include/keys/asymmetric-type.h extern struct key *find_asymmetric_key(struct key *keyring, keyring 15 include/keys/system_keyring.h extern int restrict_link_by_builtin_trusted(struct key *keyring, keyring 26 include/keys/system_keyring.h struct key *keyring, keyring 62 include/keys/system_keyring.h extern void __init set_platform_trusted_keys(struct key *keyring); keyring 64 include/keys/system_keyring.h static inline void set_platform_trusted_keys(struct key *keyring) keyring 47 include/linux/digsig.h int digsig_verify(struct key *keyring, const char *sig, int siglen, keyring 52 include/linux/digsig.h static inline int digsig_verify(struct key *keyring, const char *sig, keyring 172 include/linux/key-type.h struct key *keyring, keyring 177 include/linux/key-type.h struct key *keyring, keyring 183 include/linux/key-type.h struct key *keyring, keyring 186 include/linux/key-type.h return key_reject_and_link(key, timeout, ENOKEY, keyring, authkey); keyring 362 include/linux/key.h extern key_ref_t key_create_or_update(key_ref_t keyring, keyring 374 include/linux/key.h extern int key_link(struct key *keyring, keyring 382 include/linux/key.h extern int key_unlink(struct key *keyring, keyring 392 include/linux/key.h extern int restrict_link_reject(struct key *keyring, keyring 397 include/linux/key.h extern int keyring_clear(struct key *keyring); keyring 399 include/linux/key.h extern key_ref_t keyring_search(key_ref_t keyring, keyring 404 include/linux/key.h extern int keyring_add_key(struct key *keyring, keyring 407 include/linux/key.h extern int keyring_restrict(key_ref_t keyring, const char *type, keyring 199 lib/digsig.c int digsig_verify(struct key *keyring, const char *sig, int siglen, keyring 217 lib/digsig.c if (keyring) { keyring 220 lib/digsig.c kref = keyring_search(make_key_ref(keyring, 1UL), keyring 331 net/dns_resolver/dns_key.c struct key *keyring; keyring 344 net/dns_resolver/dns_key.c keyring = keyring_alloc(".dns_resolver", keyring 349 net/dns_resolver/dns_key.c if (IS_ERR(keyring)) { keyring 350 net/dns_resolver/dns_key.c ret = PTR_ERR(keyring); keyring 360 net/dns_resolver/dns_key.c set_bit(KEY_FLAG_ROOT_CAN_CLEAR, &keyring->flags); keyring 361 net/dns_resolver/dns_key.c cred->thread_keyring = keyring; keyring 365 net/dns_resolver/dns_key.c kdebug("DNS resolver keyring: %d\n", key_serial(keyring)); keyring 369 net/dns_resolver/dns_key.c key_put(keyring); keyring 23 security/integrity/digsig.c static struct key *keyring[INTEGRITY_KEYRING_MAX]; keyring 47 security/integrity/digsig.c if (!keyring[id]) { keyring 48 security/integrity/digsig.c keyring[id] = keyring 50 security/integrity/digsig.c if (IS_ERR(keyring[id])) { keyring 51 security/integrity/digsig.c int err = PTR_ERR(keyring[id]); keyring 53 security/integrity/digsig.c keyring[id] = NULL; keyring 58 security/integrity/digsig.c return keyring[id]; keyring 64 security/integrity/digsig.c struct key *keyring; keyring 69 security/integrity/digsig.c keyring = integrity_keyring_from_id(id); keyring 70 security/integrity/digsig.c if (IS_ERR(keyring)) keyring 71 security/integrity/digsig.c return PTR_ERR(keyring); keyring 76 security/integrity/digsig.c return digsig_verify(keyring, sig + 1, siglen - 1, digest, keyring 79 security/integrity/digsig.c return asymmetric_verify(keyring, sig, siglen, digest, keyring 88 security/integrity/digsig.c struct key *keyring; keyring 90 security/integrity/digsig.c keyring = integrity_keyring_from_id(id); keyring 91 security/integrity/digsig.c if (IS_ERR(keyring)) keyring 92 security/integrity/digsig.c return PTR_ERR(keyring); keyring 94 security/integrity/digsig.c return ima_modsig_verify(keyring, modsig); keyring 104 security/integrity/digsig.c keyring[id] = keyring_alloc(keyring_name[id], KUIDT_INIT(0), keyring 107 security/integrity/digsig.c if (IS_ERR(keyring[id])) { keyring 108 security/integrity/digsig.c err = PTR_ERR(keyring[id]); keyring 111 security/integrity/digsig.c keyring[id] = NULL; keyring 114 security/integrity/digsig.c set_platform_trusted_keys(keyring[id]); keyring 153 security/integrity/digsig.c if (!keyring[id]) keyring 156 security/integrity/digsig.c key = key_create_or_update(make_key_ref(keyring[id], 1), "asymmetric", keyring 24 security/integrity/digsig_asymmetric.c static struct key *request_asymmetric_key(struct key *keyring, uint32_t keyid) keyring 45 security/integrity/digsig_asymmetric.c if (keyring) { keyring 49 security/integrity/digsig_asymmetric.c kref = keyring_search(make_key_ref(keyring, 1), keyring 78 security/integrity/digsig_asymmetric.c int asymmetric_verify(struct key *keyring, const char *sig, keyring 97 security/integrity/digsig_asymmetric.c key = request_asymmetric_key(keyring, be32_to_cpu(hdr->keyid)); keyring 136 security/integrity/ima/ima_modsig.c int ima_modsig_verify(struct key *keyring, const struct modsig *modsig) keyring 138 security/integrity/ima/ima_modsig.c return verify_pkcs7_message_sig(NULL, 0, modsig->pkcs7_msg, keyring, keyring 193 security/integrity/integrity.h int asymmetric_verify(struct key *keyring, const char *sig, keyring 196 security/integrity/integrity.h static inline int asymmetric_verify(struct key *keyring, const char *sig, keyring 204 security/integrity/integrity.h int ima_modsig_verify(struct key *keyring, const struct modsig *modsig); keyring 206 security/integrity/integrity.h static inline int ima_modsig_verify(struct key *keyring, keyring 94 security/keys/internal.h extern int __key_link_lock(struct key *keyring, keyring 98 security/keys/internal.h extern int __key_link_begin(struct key *keyring, keyring 101 security/keys/internal.h extern int __key_link_check_live_key(struct key *keyring, struct key *key); keyring 103 security/keys/internal.h extern void __key_link_end(struct key *keyring, keyring 110 security/keys/internal.h extern struct key *keyring_search_instkey(struct key *keyring, keyring 113 security/keys/internal.h extern int iterate_over_keyring(const struct key *keyring, keyring 175 security/keys/internal.h extern void keyring_gc(struct key *keyring, time64_t limit); keyring 176 security/keys/internal.h extern void keyring_restriction_gc(struct key *keyring, keyring 423 security/keys/key.c struct key *keyring, keyring 430 security/keys/key.c key_check(keyring); keyring 451 security/keys/key.c if (keyring) { keyring 452 security/keys/key.c if (test_bit(KEY_FLAG_KEEP, &keyring->flags)) keyring 497 security/keys/key.c struct key *keyring, keyring 515 security/keys/key.c if (keyring) { keyring 516 security/keys/key.c ret = __key_link_lock(keyring, &key->index_key); keyring 520 security/keys/key.c ret = __key_link_begin(keyring, &key->index_key, &edit); keyring 524 security/keys/key.c if (keyring->restrict_link && keyring->restrict_link->check) { keyring 525 security/keys/key.c struct key_restriction *keyres = keyring->restrict_link; keyring 527 security/keys/key.c ret = keyres->check(keyring, key->type, &prep.payload, keyring 534 security/keys/key.c ret = __key_instantiate_and_link(key, &prep, keyring, authkey, &edit); keyring 537 security/keys/key.c if (keyring) keyring 538 security/keys/key.c __key_link_end(keyring, &key->index_key, edit); keyring 572 security/keys/key.c struct key *keyring, keyring 579 security/keys/key.c key_check(keyring); keyring 584 security/keys/key.c if (keyring) { keyring 585 security/keys/key.c if (keyring->restrict_link) keyring 588 security/keys/key.c link_ret = __key_link_lock(keyring, &key->index_key); keyring 590 security/keys/key.c link_ret = __key_link_begin(keyring, &key->index_key, &edit); keyring 592 security/keys/key.c __key_link_end(keyring, &key->index_key, edit); keyring 612 security/keys/key.c if (keyring && link_ret == 0) keyring 622 security/keys/key.c if (keyring && link_ret == 0) keyring 623 security/keys/key.c __key_link_end(keyring, &key->index_key, edit); keyring 822 security/keys/key.c struct key *keyring, *key = NULL; keyring 840 security/keys/key.c keyring = key_ref_to_ptr(keyring_ref); keyring 842 security/keys/key.c key_check(keyring); keyring 845 security/keys/key.c restrict_link = keyring->restrict_link; keyring 848 security/keys/key.c if (keyring->type != &key_type_keyring) keyring 871 security/keys/key.c ret = __key_link_lock(keyring, &index_key); keyring 877 security/keys/key.c ret = __key_link_begin(keyring, &index_key, &edit); keyring 884 security/keys/key.c ret = restrict_link->check(keyring, index_key.type, keyring 932 security/keys/key.c ret = __key_instantiate_and_link(key, &prep, keyring, NULL, &edit); keyring 942 security/keys/key.c __key_link_end(keyring, &index_key, edit); keyring 955 security/keys/key.c __key_link_end(keyring, &index_key, edit); keyring 468 security/keys/keyctl.c struct key *keyring; keyring 490 security/keys/keyctl.c keyring = key_ref_to_ptr(keyring_ref); keyring 491 security/keys/keyctl.c if (test_bit(KEY_FLAG_KEEP, &keyring->flags)) keyring 494 security/keys/keyctl.c ret = keyring_clear(keyring); keyring 552 security/keys/keyctl.c struct key *keyring, *key; keyring 567 security/keys/keyctl.c keyring = key_ref_to_ptr(keyring_ref); keyring 569 security/keys/keyctl.c if (test_bit(KEY_FLAG_KEEP, &keyring->flags) && keyring 573 security/keys/keyctl.c ret = key_unlink(keyring, key); keyring 76 security/keys/keyring.c static int keyring_instantiate(struct key *keyring, keyring 78 security/keys/keyring.c static void keyring_revoke(struct key *keyring); keyring 79 security/keys/keyring.c static void keyring_destroy(struct key *keyring); keyring 80 security/keys/keyring.c static void keyring_describe(const struct key *keyring, struct seq_file *m); keyring 81 security/keys/keyring.c static long keyring_read(const struct key *keyring, keyring 107 security/keys/keyring.c static void keyring_publish_name(struct key *keyring) keyring 111 security/keys/keyring.c if (keyring->description && keyring 112 security/keys/keyring.c keyring->description[0] && keyring 113 security/keys/keyring.c keyring->description[0] != '.') { keyring 115 security/keys/keyring.c list_add_tail(&keyring->name_link, &ns->keyring_name_list); keyring 140 security/keys/keyring.c static int keyring_instantiate(struct key *keyring, keyring 143 security/keys/keyring.c assoc_array_init(&keyring->keys); keyring 145 security/keys/keyring.c keyring_publish_name(keyring); keyring 412 security/keys/keyring.c static void keyring_destroy(struct key *keyring) keyring 414 security/keys/keyring.c if (keyring->description) { keyring 417 security/keys/keyring.c if (keyring->name_link.next != NULL && keyring 418 security/keys/keyring.c !list_empty(&keyring->name_link)) keyring 419 security/keys/keyring.c list_del(&keyring->name_link); keyring 424 security/keys/keyring.c if (keyring->restrict_link) { keyring 425 security/keys/keyring.c struct key_restriction *keyres = keyring->restrict_link; keyring 431 security/keys/keyring.c assoc_array_destroy(&keyring->keys, &keyring_assoc_array_ops); keyring 437 security/keys/keyring.c static void keyring_describe(const struct key *keyring, struct seq_file *m) keyring 439 security/keys/keyring.c if (keyring->description) keyring 440 security/keys/keyring.c seq_puts(m, keyring->description); keyring 444 security/keys/keyring.c if (key_is_positive(keyring)) { keyring 445 security/keys/keyring.c if (keyring->keys.nr_leaves_on_tree != 0) keyring 446 security/keys/keyring.c seq_printf(m, ": %lu", keyring->keys.nr_leaves_on_tree); keyring 481 security/keys/keyring.c static long keyring_read(const struct key *keyring, keyring 487 security/keys/keyring.c kenter("{%d},,%zu", key_serial(keyring), buflen); keyring 497 security/keys/keyring.c ret = assoc_array_iterate(&keyring->keys, keyring 506 security/keys/keyring.c ret = keyring->keys.nr_leaves_on_tree * sizeof(key_serial_t); keyring 523 security/keys/keyring.c struct key *keyring; keyring 526 security/keys/keyring.c keyring = key_alloc(&key_type_keyring, description, keyring 528 security/keys/keyring.c if (!IS_ERR(keyring)) { keyring 529 security/keys/keyring.c ret = key_instantiate_and_link(keyring, NULL, 0, dest, NULL); keyring 531 security/keys/keyring.c key_put(keyring); keyring 532 security/keys/keyring.c keyring = ERR_PTR(ret); keyring 536 security/keys/keyring.c return keyring; keyring 554 security/keys/keyring.c int restrict_link_reject(struct key *keyring, keyring 646 security/keys/keyring.c static int search_keyring(struct key *keyring, struct keyring_search_context *ctx) keyring 651 security/keys/keyring.c object = assoc_array_find(&keyring->keys, keyring 656 security/keys/keyring.c return assoc_array_iterate(&keyring->keys, ctx->iterator, ctx); keyring 663 security/keys/keyring.c static bool search_nested_keyrings(struct key *keyring, keyring 667 security/keys/keyring.c struct key *keyring; keyring 679 security/keys/keyring.c keyring->serial, keyring 694 security/keys/keyring.c keyring_compare_object(keyring, &ctx->index_key)) { keyring 696 security/keys/keyring.c switch (ctx->iterator(keyring_key_to_ptr(keyring), ctx)) { keyring 710 security/keys/keyring.c kdebug("descend to %d", keyring->serial); keyring 711 security/keys/keyring.c if (keyring->flags & ((1 << KEY_FLAG_INVALIDATED) | keyring 718 security/keys/keyring.c if (search_keyring(keyring, ctx)) keyring 732 security/keys/keyring.c ptr = READ_ONCE(keyring->keys.root); keyring 798 security/keys/keyring.c stack[sp].keyring = keyring; keyring 804 security/keys/keyring.c keyring = key; keyring 845 security/keys/keyring.c keyring = stack[sp].keyring; keyring 848 security/keys/keyring.c kdebug("ascend to %d [%d]", keyring->serial, slot); keyring 857 security/keys/keyring.c keyring->last_used_at = ctx->now; keyring 859 security/keys/keyring.c stack[--sp].keyring->last_used_at = ctx->now; keyring 902 security/keys/keyring.c struct key *keyring; keyring 909 security/keys/keyring.c keyring = key_ref_to_ptr(keyring_ref); keyring 910 security/keys/keyring.c key_check(keyring); keyring 912 security/keys/keyring.c if (keyring->type != &key_type_keyring) keyring 922 security/keys/keyring.c if (search_nested_keyrings(keyring, ctx)) keyring 937 security/keys/keyring.c key_ref_t keyring_search(key_ref_t keyring, keyring 964 security/keys/keyring.c key = keyring_search_rcu(keyring, &ctx); keyring 1024 security/keys/keyring.c struct key *keyring; keyring 1029 security/keys/keyring.c keyring = key_ref_to_ptr(keyring_ref); keyring 1030 security/keys/keyring.c key_check(keyring); keyring 1032 security/keys/keyring.c if (keyring->type != &key_type_keyring) keyring 1056 security/keys/keyring.c down_write(&keyring->sem); keyring 1059 security/keys/keyring.c if (keyring->restrict_link) keyring 1061 security/keys/keyring.c else if (keyring_detect_restriction_cycle(keyring, restrict_link)) keyring 1064 security/keys/keyring.c keyring->restrict_link = restrict_link; keyring 1067 security/keys/keyring.c up_write(&keyring->sem); keyring 1099 security/keys/keyring.c struct key *keyring, *key; keyring 1102 security/keys/keyring.c keyring = key_ref_to_ptr(keyring_ref); keyring 1105 security/keys/keyring.c keyring->serial, index_key->type->name, index_key->description); keyring 1107 security/keys/keyring.c object = assoc_array_find(&keyring->keys, &keyring_assoc_array_ops, keyring 1142 security/keys/keyring.c struct key *keyring; keyring 1152 security/keys/keyring.c list_for_each_entry(keyring, &ns->keyring_name_list, name_link) { keyring 1153 security/keys/keyring.c if (!kuid_has_mapping(ns, keyring->user->uid)) keyring 1156 security/keys/keyring.c if (test_bit(KEY_FLAG_REVOKED, &keyring->flags)) keyring 1159 security/keys/keyring.c if (strcmp(keyring->description, name) != 0) keyring 1164 security/keys/keyring.c &keyring->flags)) keyring 1167 security/keys/keyring.c if (key_permission(make_key_ref(keyring, 0), keyring 1175 security/keys/keyring.c if (!refcount_inc_not_zero(&keyring->usage)) keyring 1177 security/keys/keyring.c keyring->last_used_at = ktime_get_real_seconds(); keyring 1181 security/keys/keyring.c keyring = ERR_PTR(-ENOKEY); keyring 1184 security/keys/keyring.c return keyring; keyring 1234 security/keys/keyring.c int __key_link_lock(struct key *keyring, keyring 1236 security/keys/keyring.c __acquires(&keyring->sem) keyring 1239 security/keys/keyring.c if (keyring->type != &key_type_keyring) keyring 1242 security/keys/keyring.c down_write(&keyring->sem); keyring 1290 security/keys/keyring.c int __key_link_begin(struct key *keyring, keyring 1298 security/keys/keyring.c keyring->serial, index_key->type->name, index_key->description); keyring 1306 security/keys/keyring.c if (test_bit(KEY_FLAG_REVOKED, &keyring->flags)) keyring 1312 security/keys/keyring.c edit = assoc_array_insert(&keyring->keys, keyring 1325 security/keys/keyring.c ret = key_payload_reserve(keyring, keyring 1326 security/keys/keyring.c keyring->datalen + KEYQUOTA_LINK_BYTES); keyring 1348 security/keys/keyring.c int __key_link_check_live_key(struct key *keyring, struct key *key) keyring 1353 security/keys/keyring.c return keyring_detect_cycle(keyring, key); keyring 1378 security/keys/keyring.c void __key_link_end(struct key *keyring, keyring 1381 security/keys/keyring.c __releases(&keyring->sem) keyring 1385 security/keys/keyring.c kenter("%d,%s,", keyring->serial, index_key->type->name); keyring 1389 security/keys/keyring.c key_payload_reserve(keyring, keyring 1390 security/keys/keyring.c keyring->datalen - KEYQUOTA_LINK_BYTES); keyring 1394 security/keys/keyring.c up_write(&keyring->sem); keyring 1403 security/keys/keyring.c static int __key_link_check_restriction(struct key *keyring, struct key *key) keyring 1405 security/keys/keyring.c if (!keyring->restrict_link || !keyring->restrict_link->check) keyring 1407 security/keys/keyring.c return keyring->restrict_link->check(keyring, key->type, &key->payload, keyring 1408 security/keys/keyring.c keyring->restrict_link->key); keyring 1431 security/keys/keyring.c int key_link(struct key *keyring, struct key *key) keyring 1436 security/keys/keyring.c kenter("{%d,%d}", keyring->serial, refcount_read(&keyring->usage)); keyring 1438 security/keys/keyring.c key_check(keyring); keyring 1441 security/keys/keyring.c ret = __key_link_lock(keyring, &key->index_key); keyring 1445 security/keys/keyring.c ret = __key_link_begin(keyring, &key->index_key, &edit); keyring 1449 security/keys/keyring.c kdebug("begun {%d,%d}", keyring->serial, refcount_read(&keyring->usage)); keyring 1450 security/keys/keyring.c ret = __key_link_check_restriction(keyring, key); keyring 1452 security/keys/keyring.c ret = __key_link_check_live_key(keyring, key); keyring 1457 security/keys/keyring.c __key_link_end(keyring, &key->index_key, edit); keyring 1459 security/keys/keyring.c kleave(" = %d {%d,%d}", ret, keyring->serial, refcount_read(&keyring->usage)); keyring 1467 security/keys/keyring.c static int __key_unlink_lock(struct key *keyring) keyring 1468 security/keys/keyring.c __acquires(&keyring->sem) keyring 1470 security/keys/keyring.c if (keyring->type != &key_type_keyring) keyring 1473 security/keys/keyring.c down_write(&keyring->sem); keyring 1480 security/keys/keyring.c static int __key_unlink_begin(struct key *keyring, struct key *key, keyring 1487 security/keys/keyring.c edit = assoc_array_delete(&keyring->keys, &keyring_assoc_array_ops, keyring 1502 security/keys/keyring.c static void __key_unlink(struct key *keyring, struct key *key, keyring 1507 security/keys/keyring.c key_payload_reserve(keyring, keyring->datalen - KEYQUOTA_LINK_BYTES); keyring 1513 security/keys/keyring.c static void __key_unlink_end(struct key *keyring, keyring 1516 security/keys/keyring.c __releases(&keyring->sem) keyring 1520 security/keys/keyring.c up_write(&keyring->sem); keyring 1540 security/keys/keyring.c int key_unlink(struct key *keyring, struct key *key) keyring 1545 security/keys/keyring.c key_check(keyring); keyring 1548 security/keys/keyring.c ret = __key_unlink_lock(keyring); keyring 1552 security/keys/keyring.c ret = __key_unlink_begin(keyring, key, &edit); keyring 1554 security/keys/keyring.c __key_unlink(keyring, key, &edit); keyring 1555 security/keys/keyring.c __key_unlink_end(keyring, key, edit); keyring 1642 security/keys/keyring.c int keyring_clear(struct key *keyring) keyring 1647 security/keys/keyring.c if (keyring->type != &key_type_keyring) keyring 1650 security/keys/keyring.c down_write(&keyring->sem); keyring 1652 security/keys/keyring.c edit = assoc_array_clear(&keyring->keys, &keyring_assoc_array_ops); keyring 1658 security/keys/keyring.c key_payload_reserve(keyring, 0); keyring 1662 security/keys/keyring.c up_write(&keyring->sem); keyring 1672 security/keys/keyring.c static void keyring_revoke(struct key *keyring) keyring 1676 security/keys/keyring.c edit = assoc_array_clear(&keyring->keys, &keyring_assoc_array_ops); keyring 1680 security/keys/keyring.c key_payload_reserve(keyring, 0); keyring 1710 security/keys/keyring.c void keyring_gc(struct key *keyring, time64_t limit) keyring 1714 security/keys/keyring.c kenter("%x{%s}", keyring->serial, keyring->description ?: ""); keyring 1716 security/keys/keyring.c if (keyring->flags & ((1 << KEY_FLAG_INVALIDATED) | keyring 1722 security/keys/keyring.c result = assoc_array_iterate(&keyring->keys, keyring 1733 security/keys/keyring.c down_write(&keyring->sem); keyring 1734 security/keys/keyring.c assoc_array_gc(&keyring->keys, &keyring_assoc_array_ops, keyring 1736 security/keys/keyring.c up_write(&keyring->sem); keyring 1755 security/keys/keyring.c void keyring_restriction_gc(struct key *keyring, struct key_type *dead_type) keyring 1759 security/keys/keyring.c kenter("%x{%s}", keyring->serial, keyring->description ?: ""); keyring 1768 security/keys/keyring.c if (!dead_type || !keyring->restrict_link || keyring 1769 security/keys/keyring.c keyring->restrict_link->keytype != dead_type) { keyring 1775 security/keys/keyring.c down_write(&keyring->sem); keyring 1777 security/keys/keyring.c keyres = keyring->restrict_link; keyring 1785 security/keys/keyring.c up_write(&keyring->sem); keyring 223 security/keys/process_keys.c struct key *keyring; keyring 228 security/keys/process_keys.c keyring = keyring_alloc("_tid", new->uid, new->gid, new, keyring 232 security/keys/process_keys.c if (IS_ERR(keyring)) keyring 233 security/keys/process_keys.c return PTR_ERR(keyring); keyring 235 security/keys/process_keys.c new->thread_keyring = keyring; keyring 270 security/keys/process_keys.c struct key *keyring; keyring 275 security/keys/process_keys.c keyring = keyring_alloc("_pid", new->uid, new->gid, new, keyring 279 security/keys/process_keys.c if (IS_ERR(keyring)) keyring 280 security/keys/process_keys.c return PTR_ERR(keyring); keyring 282 security/keys/process_keys.c new->process_keyring = keyring; keyring 317 security/keys/process_keys.c int install_session_keyring_to_cred(struct cred *cred, struct key *keyring) keyring 325 security/keys/process_keys.c if (!keyring) { keyring 330 security/keys/process_keys.c keyring = keyring_alloc("_ses", cred->uid, cred->gid, cred, keyring 333 security/keys/process_keys.c if (IS_ERR(keyring)) keyring 334 security/keys/process_keys.c return PTR_ERR(keyring); keyring 336 security/keys/process_keys.c __key_get(keyring); keyring 341 security/keys/process_keys.c cred->session_keyring = keyring; keyring 356 security/keys/process_keys.c static int install_session_keyring(struct key *keyring) keyring 365 security/keys/process_keys.c ret = install_session_keyring_to_cred(new, keyring); keyring 842 security/keys/process_keys.c struct key *keyring; keyring 867 security/keys/process_keys.c keyring = find_keyring_by_name(name, false); keyring 868 security/keys/process_keys.c if (PTR_ERR(keyring) == -ENOKEY) { keyring 870 security/keys/process_keys.c keyring = keyring_alloc( keyring 874 security/keys/process_keys.c if (IS_ERR(keyring)) { keyring 875 security/keys/process_keys.c ret = PTR_ERR(keyring); keyring 878 security/keys/process_keys.c } else if (IS_ERR(keyring)) { keyring 879 security/keys/process_keys.c ret = PTR_ERR(keyring); keyring 881 security/keys/process_keys.c } else if (keyring == new->session_keyring) { keyring 887 security/keys/process_keys.c ret = install_session_keyring_to_cred(new, keyring); keyring 894 security/keys/process_keys.c ret = keyring->serial; keyring 895 security/keys/process_keys.c key_put(keyring); keyring 900 security/keys/process_keys.c key_put(keyring); keyring 79 security/keys/request_key.c struct key *keyring = info->data; keyring 81 security/keys/request_key.c return install_session_keyring_to_cred(cred, keyring); keyring 89 security/keys/request_key.c struct key *keyring = info->data; keyring 90 security/keys/request_key.c key_put(keyring); keyring 121 security/keys/request_key.c struct key *key = rka->target_key, *keyring, *session, *user_session; keyring 137 security/keys/request_key.c keyring = keyring_alloc(desc, cred->fsuid, cred->fsgid, cred, keyring 141 security/keys/request_key.c if (IS_ERR(keyring)) { keyring 142 security/keys/request_key.c ret = PTR_ERR(keyring); keyring 147 security/keys/request_key.c ret = key_link(keyring, authkey); keyring 193 security/keys/request_key.c ret = call_usermodehelper_keys(request_key, argv, envp, keyring, keyring 208 security/keys/request_key.c key_put(keyring);