Lines Matching refs:slot
389 psa_key_slot_t *slot = NULL; in psa_get_and_lock_key_slot_in_memory() local
392 slot = get_volatile_key_slot(key_id); in psa_get_and_lock_key_slot_in_memory()
396 if (slot != NULL && in psa_get_and_lock_key_slot_in_memory()
397 slot->state == PSA_SLOT_FULL && in psa_get_and_lock_key_slot_in_memory()
398 mbedtls_svc_key_id_equal(key, slot->attr.id)) { in psa_get_and_lock_key_slot_in_memory()
409 slot = get_persistent_key_slot(slot_idx); in psa_get_and_lock_key_slot_in_memory()
411 if ((slot->state == PSA_SLOT_FULL) && in psa_get_and_lock_key_slot_in_memory()
412 (mbedtls_svc_key_id_equal(key, slot->attr.id))) { in psa_get_and_lock_key_slot_in_memory()
421 status = psa_register_read(slot); in psa_get_and_lock_key_slot_in_memory()
423 *p_slot = slot; in psa_get_and_lock_key_slot_in_memory()
460 psa_key_slot_t *slot = get_key_slot(slice_idx, slot_idx); in psa_wipe_all_key_slots() local
475 if (slot->state == PSA_SLOT_EMPTY) { in psa_wipe_all_key_slots()
479 slot->var.occupied.registered_readers = 1; in psa_wipe_all_key_slots()
480 slot->state = PSA_SLOT_PENDING_DELETION; in psa_wipe_all_key_slots()
481 (void) psa_wipe_key_slot(slot); in psa_wipe_all_key_slots()
527 psa_key_slot_t *slot = &slice[slot_idx]; in psa_allocate_volatile_key_slot() local
528 size_t next_free = slot_idx + 1 + slot->var.free.next_free_relative_to_next; in psa_allocate_volatile_key_slot()
535 slot->var.free.next_free_relative_to_next = 0; in psa_allocate_volatile_key_slot()
537 psa_status_t status = psa_key_slot_state_transition(slot, in psa_allocate_volatile_key_slot()
549 *p_slot = slot; in psa_allocate_volatile_key_slot()
551 slot->slice_index = (uint8_t) slice_idx; in psa_allocate_volatile_key_slot()
556 psa_key_slot_t *slot) in psa_free_key_slot() argument
570 if (slot < slice || slot >= slice_end) { in psa_free_key_slot()
579 size_t slot_idx = slot - slice; in psa_free_key_slot()
588 slot->var.free.next_free_relative_to_next = in psa_free_key_slot()
619 psa_key_slot_t *slot = get_key_slot(KEY_SLOT_CACHE_SLICE_INDEX, slot_idx); in psa_reserve_free_key_slot() local
620 if (slot->state == PSA_SLOT_EMPTY) { in psa_reserve_free_key_slot()
621 selected_slot = slot; in psa_reserve_free_key_slot()
626 (slot->state == PSA_SLOT_FULL) && in psa_reserve_free_key_slot()
627 (!psa_key_slot_has_readers(slot)) && in psa_reserve_free_key_slot()
628 (!PSA_KEY_LIFETIME_IS_VOLATILE(slot->attr.lifetime))) { in psa_reserve_free_key_slot()
629 unused_persistent_key_slot = slot; in psa_reserve_free_key_slot()
682 static psa_status_t psa_load_persistent_key_into_slot(psa_key_slot_t *slot) in psa_load_persistent_key_into_slot() argument
688 status = psa_load_persistent_key(&slot->attr, in psa_load_persistent_key_into_slot()
699 if (psa_get_se_driver(slot->attr.lifetime, &drv, &drv_context)) { in psa_load_persistent_key_into_slot()
708 slot, data->slot_number, sizeof(data->slot_number)); in psa_load_persistent_key_into_slot()
713 status = psa_copy_key_material_into_slot(slot, key_data, key_data_length); in psa_load_persistent_key_into_slot()
726 static psa_status_t psa_load_builtin_key_into_slot(psa_key_slot_t *slot) in psa_load_builtin_key_into_slot() argument
736 MBEDTLS_SVC_KEY_ID_GET_KEY_ID(slot->attr.id))) { in psa_load_builtin_key_into_slot()
742 slot->attr.id, &lifetime, &slot_number); in psa_load_builtin_key_into_slot()
749 psa_set_key_id(&attributes, slot->attr.id); in psa_load_builtin_key_into_slot()
775 status = psa_allocate_buffer_to_slot(slot, key_buffer_size); in psa_load_builtin_key_into_slot()
782 slot->key.data, slot->key.bytes, &key_buffer_length); in psa_load_builtin_key_into_slot()
788 slot->key.bytes = key_buffer_length; in psa_load_builtin_key_into_slot()
789 slot->attr = attributes; in psa_load_builtin_key_into_slot()
792 psa_remove_key_data_from_memory(slot); in psa_load_builtin_key_into_slot()
891 psa_status_t psa_unregister_read(psa_key_slot_t *slot) in psa_unregister_read() argument
893 if (slot == NULL) { in psa_unregister_read()
896 if ((slot->state != PSA_SLOT_FULL) && in psa_unregister_read()
897 (slot->state != PSA_SLOT_PENDING_DELETION)) { in psa_unregister_read()
903 if ((slot->state == PSA_SLOT_PENDING_DELETION) && in psa_unregister_read()
904 (slot->var.occupied.registered_readers == 1)) { in psa_unregister_read()
905 return psa_wipe_key_slot(slot); in psa_unregister_read()
908 if (psa_key_slot_has_readers(slot)) { in psa_unregister_read()
909 slot->var.occupied.registered_readers--; in psa_unregister_read()
921 MBEDTLS_TEST_HOOK_TEST_ASSERT(psa_key_slot_has_readers(slot)); in psa_unregister_read()
925 psa_status_t psa_unregister_read_under_mutex(psa_key_slot_t *slot) in psa_unregister_read_under_mutex() argument
935 status = psa_unregister_read(slot); in psa_unregister_read_under_mutex()
992 psa_key_slot_t *slot; in psa_open_key() local
994 status = psa_get_and_lock_key_slot(key, &slot); in psa_open_key()
1006 return psa_unregister_read_under_mutex(slot); in psa_open_key()
1018 psa_key_slot_t *slot; in psa_close_key() local
1031 status = psa_get_and_lock_key_slot_in_memory(handle, &slot); in psa_close_key()
1043 if (slot->var.occupied.registered_readers == 1) { in psa_close_key()
1044 status = psa_wipe_key_slot(slot); in psa_close_key()
1046 status = psa_unregister_read(slot); in psa_close_key()
1059 psa_key_slot_t *slot; in psa_purge_key() local
1068 status = psa_get_and_lock_key_slot_in_memory(key, &slot); in psa_purge_key()
1077 if ((!PSA_KEY_LIFETIME_IS_VOLATILE(slot->attr.lifetime)) && in psa_purge_key()
1078 (slot->var.occupied.registered_readers == 1)) { in psa_purge_key()
1079 status = psa_wipe_key_slot(slot); in psa_purge_key()
1081 status = psa_unregister_read(slot); in psa_purge_key()
1102 const psa_key_slot_t *slot = get_key_slot(slice_idx, slot_idx); in mbedtls_psa_get_stats() local
1103 if (slot->state == PSA_SLOT_EMPTY) { in mbedtls_psa_get_stats()
1107 if (psa_key_slot_has_readers(slot)) { in mbedtls_psa_get_stats()
1110 if (PSA_KEY_LIFETIME_IS_VOLATILE(slot->attr.lifetime)) { in mbedtls_psa_get_stats()
1113 psa_key_id_t id = MBEDTLS_SVC_KEY_ID_GET_KEY_ID(slot->attr.id); in mbedtls_psa_get_stats()
1119 if (PSA_KEY_LIFETIME_GET_LOCATION(slot->attr.lifetime) != in mbedtls_psa_get_stats()
1121 psa_key_id_t id = MBEDTLS_SVC_KEY_ID_GET_KEY_ID(slot->attr.id); in mbedtls_psa_get_stats()