Lines Matching refs:larval
179 struct crypto_larval *larval; in __crypto_register_alg() local
210 larval = crypto_larval_alloc(alg->cra_name, in __crypto_register_alg()
212 if (IS_ERR(larval)) in __crypto_register_alg()
216 larval->adult = crypto_mod_get(alg); in __crypto_register_alg()
217 if (!larval->adult) in __crypto_register_alg()
220 atomic_set(&larval->alg.cra_refcnt, 1); in __crypto_register_alg()
221 memcpy(larval->alg.cra_driver_name, alg->cra_driver_name, in __crypto_register_alg()
223 larval->alg.cra_priority = alg->cra_priority; in __crypto_register_alg()
226 list_add(&larval->alg.cra_list, &crypto_alg_list); in __crypto_register_alg()
229 return larval; in __crypto_register_alg()
232 kfree(larval); in __crypto_register_alg()
234 larval = ERR_PTR(ret); in __crypto_register_alg()
275 struct crypto_larval *larval = (void *)q; in crypto_alg_tested() local
286 if (larval->adult) in crypto_alg_tested()
288 if ((q->cra_flags ^ alg->cra_flags) & larval->mask) in crypto_alg_tested()
293 larval->adult = alg; in crypto_alg_tested()
329 static void crypto_wait_for_test(struct crypto_larval *larval) in crypto_wait_for_test() argument
333 err = crypto_probing_notify(CRYPTO_MSG_ALG_REGISTER, larval->adult); in crypto_wait_for_test()
337 crypto_alg_tested(larval->alg.cra_driver_name, 0); in crypto_wait_for_test()
340 err = wait_for_completion_killable(&larval->completion); in crypto_wait_for_test()
344 crypto_larval_kill(&larval->alg); in crypto_wait_for_test()
349 struct crypto_larval *larval; in crypto_register_alg() local
357 larval = __crypto_register_alg(alg); in crypto_register_alg()
360 if (IS_ERR(larval)) in crypto_register_alg()
361 return PTR_ERR(larval); in crypto_register_alg()
363 crypto_wait_for_test(larval); in crypto_register_alg()
521 struct crypto_larval *larval; in crypto_register_instance() local
536 larval = __crypto_register_alg(&inst->alg); in crypto_register_instance()
537 if (IS_ERR(larval)) in crypto_register_instance()
546 err = PTR_ERR(larval); in crypto_register_instance()
547 if (IS_ERR(larval)) in crypto_register_instance()
550 crypto_wait_for_test(larval); in crypto_register_instance()