/linux-4.1.27/security/keys/ |
H A D | persistent.c | 43 struct keyring_index_key *index_key) key_create_persistent() 54 persistent_ref = find_key_to_update(reg_ref, index_key); key_create_persistent() 59 persistent = keyring_alloc(index_key->description, key_create_persistent() 78 struct keyring_index_key index_key; key_get_persistent() local 85 index_key.type = &key_type_keyring; key_get_persistent() 86 index_key.description = buf; key_get_persistent() 87 index_key.desc_len = sprintf(buf, "_persistent.%u", from_kuid(ns, uid)); key_get_persistent() 92 persistent_ref = find_key_to_update(reg_ref, &index_key); key_get_persistent() 103 persistent_ref = key_create_persistent(ns, uid, &index_key); key_get_persistent() 42 key_create_persistent(struct user_namespace *ns, kuid_t uid, struct keyring_index_key *index_key) key_create_persistent() argument
|
H A D | keyring.c | 171 static unsigned long hash_key_type_and_desc(const struct keyring_index_key *index_key) hash_key_type_and_desc() argument 175 const char *description = index_key->description; hash_key_type_and_desc() 179 int n, desc_len = index_key->desc_len; hash_key_type_and_desc() 181 type = (unsigned long)index_key->type; hash_key_type_and_desc() 208 if (index_key->type != &key_type_keyring && (hash & fan_mask) == 0) hash_key_type_and_desc() 210 if (index_key->type == &key_type_keyring && (hash & fan_mask) != 0) hash_key_type_and_desc() 232 const struct keyring_index_key *index_key = data; keyring_get_key_chunk() local 235 int desc_len = index_key->desc_len, n = sizeof(chunk); keyring_get_key_chunk() 240 return hash_key_type_and_desc(index_key); keyring_get_key_chunk() 242 return ((unsigned long)index_key->type << 8) | desc_len; keyring_get_key_chunk() 245 return (u8)((unsigned long)index_key->type >> keyring_get_key_chunk() 260 chunk |= ((u8*)index_key->description)[--offset]; keyring_get_key_chunk() 265 chunk |= (u8)((unsigned long)index_key->type >> keyring_get_key_chunk() 275 return keyring_get_key_chunk(&key->index_key, level); keyring_get_object_key_chunk() 280 const struct keyring_index_key *index_key = data; keyring_compare_object() local 283 return key->index_key.type == index_key->type && keyring_compare_object() 284 key->index_key.desc_len == index_key->desc_len && keyring_compare_object() 285 memcmp(key->index_key.description, index_key->description, keyring_compare_object() 286 index_key->desc_len) == 0; keyring_compare_object() 296 const struct keyring_index_key *a = &key_a->index_key; keyring_diff_objects() 534 if (key->type != ctx->index_key.type) { keyring_search_iterator() 602 &ctx->index_key); search_keyring() 629 ctx->index_key.type->name, search_nested_keyrings() 630 ctx->index_key.description); search_nested_keyrings() 636 if (ctx->index_key.description) search_nested_keyrings() 637 ctx->index_key.desc_len = strlen(ctx->index_key.description); search_nested_keyrings() 643 keyring_compare_object(keyring, &ctx->index_key)) { search_nested_keyrings() 689 if ((shortcut->index_key[0] & ASSOC_ARRAY_FAN_MASK) != 0) search_nested_keyrings() 894 .index_key.type = type, keyring_search() 895 .index_key.description = description, keyring_search() 934 const struct keyring_index_key *index_key) find_key_to_update() 942 keyring->serial, index_key->type->name, index_key->description); find_key_to_update() 945 index_key); find_key_to_update() 1052 .index_key = A->index_key, keyring_detect_cycle() 1072 const struct keyring_index_key *index_key, 1081 keyring->serial, index_key->type->name, index_key->description); 1083 BUG_ON(index_key->desc_len == 0); 1096 if (index_key->type == &key_type_keyring) 1104 index_key, 1128 if (index_key->type == &key_type_keyring) 1173 const struct keyring_index_key *index_key, 1178 BUG_ON(index_key->type == NULL); 1179 kenter("%d,%s,", keyring->serial, index_key->type->name); 1181 if (index_key->type == &key_type_keyring) 1228 ret = __key_link_begin(keyring, &key->index_key, &edit); key_link() 1234 __key_link_end(keyring, &key->index_key, edit); key_link() 1273 &key->index_key); key_unlink() 933 find_key_to_update(key_ref_t keyring_ref, const struct keyring_index_key *index_key) find_key_to_update() argument
|
H A D | key.c | 279 key->index_key.desc_len = desclen; key_alloc() 280 key->index_key.description = kmemdup(desc, desclen + 1, GFP_KERNEL); key_alloc() 287 key->index_key.type = type; key_alloc() 493 ret = __key_link_begin(keyring, &key->index_key, &edit); key_instantiate_and_link() 501 __key_link_end(keyring, &key->index_key, edit); key_instantiate_and_link() 549 link_ret = __key_link_begin(keyring, &key->index_key, &edit); key_reject_and_link() 582 __key_link_end(keyring, &key->index_key, edit); key_reject_and_link() 781 struct keyring_index_key index_key = { key_create_or_update() local 793 index_key.type = key_type_lookup(type); key_create_or_update() 794 if (IS_ERR(index_key.type)) { key_create_or_update() 800 if (!index_key.type->instantiate || key_create_or_update() 801 (!index_key.description && !index_key.type->preparse)) key_create_or_update() 815 prep.quotalen = index_key.type->def_datalen; key_create_or_update() 818 if (index_key.type->preparse) { key_create_or_update() 819 ret = index_key.type->preparse(&prep); key_create_or_update() 824 if (!index_key.description) key_create_or_update() 825 index_key.description = prep.description; key_create_or_update() 827 if (!index_key.description) key_create_or_update() 830 index_key.desc_len = strlen(index_key.description); key_create_or_update() 837 ret = __key_link_begin(keyring, &index_key, &edit); key_create_or_update() 855 if (index_key.type->update) { key_create_or_update() 856 key_ref = find_key_to_update(keyring_ref, &index_key); key_create_or_update() 866 if (index_key.type->read) key_create_or_update() 869 if (index_key.type == &key_type_keyring || key_create_or_update() 870 index_key.type->update) key_create_or_update() 875 key = key_alloc(index_key.type, index_key.description, key_create_or_update() 893 __key_link_end(keyring, &index_key, edit); key_create_or_update() 895 if (index_key.type->preparse) key_create_or_update() 896 index_key.type->free_preparse(&prep); key_create_or_update() 898 key_type_put(index_key.type); key_create_or_update() 906 __key_link_end(keyring, &index_key, edit); key_create_or_update()
|
H A D | request_key.c | 343 ctx->index_key.type->name, ctx->index_key.description); construct_alloc_key() 350 if (ctx->index_key.type->read) construct_alloc_key() 352 if (ctx->index_key.type == &key_type_keyring || construct_alloc_key() 353 ctx->index_key.type->update) construct_alloc_key() 356 key = key_alloc(ctx->index_key.type, ctx->index_key.description, construct_alloc_key() 365 ret = __key_link_begin(dest_keyring, &ctx->index_key, &edit); construct_alloc_key() 384 __key_link_end(dest_keyring, &ctx->index_key, edit); construct_alloc_key() 400 __key_link_end(dest_keyring, &ctx->index_key, edit); construct_alloc_key() 514 .index_key.type = type, request_key_and_link() 515 .index_key.description = description, request_key_and_link() 528 ctx.index_key.type->name, ctx.index_key.description, request_key_and_link()
|
H A D | internal.h | 92 const struct keyring_index_key *index_key, 97 const struct keyring_index_key *index_key, 101 const struct keyring_index_key *index_key); 111 struct keyring_index_key index_key; member in struct:keyring_search_context
|
H A D | proc.c | 188 .index_key.type = key->type, proc_keys_show() 189 .index_key.description = key->description, proc_keys_show()
|
H A D | request_key_auth.c | 246 .index_key.type = &key_type_request_key_auth, key_get_instantiation_authkey() 247 .index_key.description = description, key_get_instantiation_authkey()
|
H A D | process_keys.c | 452 ctx->index_key.type != &key_type_request_key_auth search_process_keyrings() 674 ctx.index_key.type = key->type; lookup_user_key() 675 ctx.index_key.description = key->description; lookup_user_key() 676 ctx.index_key.desc_len = strlen(key->description); lookup_user_key()
|
/linux-4.1.27/include/linux/ |
H A D | assoc_array.h | 36 unsigned long (*get_key_chunk)(const void *index_key, int level); 42 bool (*compare_object)(const void *object, const void *index_key); 47 int (*diff_objects)(const void *object, const void *index_key); 70 const void *index_key); 75 const void *index_key, 81 const void *index_key);
|
H A D | assoc_array_priv.h | 72 unsigned long index_key[]; member in struct:assoc_array_shortcut
|
H A D | key.h | 182 struct keyring_index_key index_key; member in union:key::__anon11887
|
/linux-4.1.27/lib/ |
H A D | assoc_array.c | 184 const void *index_key, assoc_array_walk() 211 segments = ops->get_key_chunk(index_key, level); assoc_array_walk() 268 segments = ops->get_key_chunk(index_key, sc_level); assoc_array_walk() 270 sc_segments = shortcut->index_key[sc_level >> ASSOC_ARRAY_KEY_CHUNK_SHIFT]; assoc_array_walk() 311 * @index_key: The key to the object. 321 const void *index_key) assoc_array_find() 329 if (assoc_array_walk(array, ops, index_key, &result) != assoc_array_find() 348 if (ops->compare_object(leaf, index_key)) assoc_array_find() 493 const void *index_key, assoc_array_insert_into_terminal_node() 529 index_key)) { assoc_array_insert_into_terminal_node() 766 index_key); assoc_array_insert_into_terminal_node() 798 new_s0->index_key[i] = assoc_array_insert_into_terminal_node() 799 ops->get_key_chunk(index_key, i * ASSOC_ARRAY_KEY_CHUNK_SIZE); assoc_array_insert_into_terminal_node() 803 new_s0->index_key[keylen - 1] &= ~blank; assoc_array_insert_into_terminal_node() 816 base_seg = ops->get_key_chunk(index_key, level); assoc_array_insert_into_terminal_node() 898 memcpy(new_s0->index_key, shortcut->index_key, assoc_array_insert_mid_shortcut() 903 new_s0->index_key[keylen - 1] &= ~blank; assoc_array_insert_mid_shortcut() 947 memcpy(new_s1->index_key, shortcut->index_key, assoc_array_insert_mid_shortcut() 981 * @index_key: The key to insert at. 998 const void *index_key, assoc_array_insert() 1021 switch (assoc_array_walk(array, ops, index_key, &result)) { assoc_array_insert() 1033 if (!assoc_array_insert_into_terminal_node(edit, ops, index_key, assoc_array_insert() 1096 * @index_key: The key to the object. 1113 const void *index_key) assoc_array_delete() 1132 switch (assoc_array_walk(array, ops, index_key, &result)) { assoc_array_delete() 1145 index_key)) assoc_array_delete() 182 assoc_array_walk(const struct assoc_array *array, const struct assoc_array_ops *ops, const void *index_key, struct assoc_array_walk_result *result) assoc_array_walk() argument 319 assoc_array_find(const struct assoc_array *array, const struct assoc_array_ops *ops, const void *index_key) assoc_array_find() argument 491 assoc_array_insert_into_terminal_node(struct assoc_array_edit *edit, const struct assoc_array_ops *ops, const void *index_key, struct assoc_array_walk_result *result) assoc_array_insert_into_terminal_node() argument 996 assoc_array_insert(struct assoc_array *array, const struct assoc_array_ops *ops, const void *index_key, void *object) assoc_array_insert() argument 1111 assoc_array_delete(struct assoc_array *array, const struct assoc_array_ops *ops, const void *index_key) assoc_array_delete() argument
|