Lines Matching refs:inst

74 	struct crypto_instance *inst = (void *)alg;  in crypto_destroy_instance()  local
75 struct crypto_template *tmpl = inst->tmpl; in crypto_destroy_instance()
77 tmpl->free(inst); in crypto_destroy_instance()
97 list)->inst->alg; in crypto_more_spawns()
101 return &n->list == stack ? top : &n->inst->alg.cra_users; in crypto_more_spawns()
104 static void crypto_remove_instance(struct crypto_instance *inst, in crypto_remove_instance() argument
107 struct crypto_template *tmpl = inst->tmpl; in crypto_remove_instance()
109 if (crypto_is_dead(&inst->alg)) in crypto_remove_instance()
112 inst->alg.cra_flags |= CRYPTO_ALG_DEAD; in crypto_remove_instance()
113 if (hlist_unhashed(&inst->list)) in crypto_remove_instance()
119 crypto_notify(CRYPTO_MSG_ALG_UNREGISTER, &inst->alg); in crypto_remove_instance()
120 list_move(&inst->alg.cra_list, list); in crypto_remove_instance()
121 hlist_del(&inst->list); in crypto_remove_instance()
122 inst->alg.cra_destroy = crypto_destroy_instance; in crypto_remove_instance()
124 BUG_ON(!list_empty(&inst->alg.cra_users)); in crypto_remove_instance()
148 struct crypto_instance *inst; in crypto_remove_spawns() local
152 inst = spawn->inst; in crypto_remove_spawns()
154 BUG_ON(&inst->alg == alg); in crypto_remove_spawns()
158 if (&inst->alg == nalg) in crypto_remove_spawns()
162 spawns = &inst->alg.cra_users; in crypto_remove_spawns()
171 crypto_remove_instance(spawn->inst, list); in crypto_remove_spawns()
463 struct crypto_instance *inst; in crypto_unregister_template() local
474 hlist_for_each_entry(inst, list, list) { in crypto_unregister_template()
475 int err = crypto_remove_alg(&inst->alg, &users); in crypto_unregister_template()
484 hlist_for_each_entry_safe(inst, n, list, list) { in crypto_unregister_template()
485 BUG_ON(atomic_read(&inst->alg.cra_refcnt) != 1); in crypto_unregister_template()
486 tmpl->free(inst); in crypto_unregister_template()
519 struct crypto_instance *inst) in crypto_register_instance() argument
524 err = crypto_check_alg(&inst->alg); in crypto_register_instance()
528 inst->alg.cra_module = tmpl->module; in crypto_register_instance()
529 inst->alg.cra_flags |= CRYPTO_ALG_INSTANCE; in crypto_register_instance()
531 if (unlikely(!crypto_mod_get(&inst->alg))) in crypto_register_instance()
536 larval = __crypto_register_alg(&inst->alg); in crypto_register_instance()
540 hlist_add_head(&inst->list, &tmpl->instances); in crypto_register_instance()
541 inst->tmpl = tmpl; in crypto_register_instance()
553 if (!(inst->alg.cra_flags & CRYPTO_ALG_TESTED)) in crypto_register_instance()
554 crypto_unregister_instance(inst); in crypto_register_instance()
558 crypto_mod_put(&inst->alg); in crypto_register_instance()
563 int crypto_unregister_instance(struct crypto_instance *inst) in crypto_unregister_instance() argument
569 crypto_remove_spawns(&inst->alg, &list, NULL); in crypto_unregister_instance()
570 crypto_remove_instance(inst, &list); in crypto_unregister_instance()
581 struct crypto_instance *inst, u32 mask) in crypto_init_spawn() argument
585 spawn->inst = inst; in crypto_init_spawn()
601 struct crypto_instance *inst, in crypto_init_spawn2() argument
610 err = crypto_init_spawn(spawn, alg, inst, frontend->maskset); in crypto_init_spawn2()
794 struct crypto_instance *inst; in crypto_alloc_instance2() local
798 p = kzalloc(head + sizeof(*inst) + sizeof(struct crypto_spawn), in crypto_alloc_instance2()
803 inst = (void *)(p + head); in crypto_alloc_instance2()
806 if (snprintf(inst->alg.cra_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", name, in crypto_alloc_instance2()
810 if (snprintf(inst->alg.cra_driver_name, CRYPTO_MAX_ALG_NAME, "%s(%s)", in crypto_alloc_instance2()
825 struct crypto_instance *inst; in crypto_alloc_instance() local
829 inst = crypto_alloc_instance2(name, alg, 0); in crypto_alloc_instance()
830 if (IS_ERR(inst)) in crypto_alloc_instance()
833 spawn = crypto_instance_ctx(inst); in crypto_alloc_instance()
834 err = crypto_init_spawn(spawn, alg, inst, in crypto_alloc_instance()
840 return inst; in crypto_alloc_instance()
843 kfree(inst); in crypto_alloc_instance()
844 inst = ERR_PTR(err); in crypto_alloc_instance()
847 return inst; in crypto_alloc_instance()