Lines Matching refs:larval

54 static inline int crypto_is_test_larval(struct crypto_larval *larval)  in crypto_is_test_larval()  argument
56 return larval->alg.cra_driver_name[0]; in crypto_is_test_larval()
101 struct crypto_larval *larval = (void *)alg; in crypto_larval_destroy() local
104 if (larval->adult) in crypto_larval_destroy()
105 crypto_mod_put(larval->adult); in crypto_larval_destroy()
106 kfree(larval); in crypto_larval_destroy()
111 struct crypto_larval *larval; in crypto_larval_alloc() local
113 larval = kzalloc(sizeof(*larval), GFP_KERNEL); in crypto_larval_alloc()
114 if (!larval) in crypto_larval_alloc()
117 larval->mask = mask; in crypto_larval_alloc()
118 larval->alg.cra_flags = CRYPTO_ALG_LARVAL | type; in crypto_larval_alloc()
119 larval->alg.cra_priority = -1; in crypto_larval_alloc()
120 larval->alg.cra_destroy = crypto_larval_destroy; in crypto_larval_alloc()
122 strlcpy(larval->alg.cra_name, name, CRYPTO_MAX_ALG_NAME); in crypto_larval_alloc()
123 init_completion(&larval->completion); in crypto_larval_alloc()
125 return larval; in crypto_larval_alloc()
133 struct crypto_larval *larval; in crypto_larval_add() local
135 larval = crypto_larval_alloc(name, type, mask); in crypto_larval_add()
136 if (IS_ERR(larval)) in crypto_larval_add()
137 return ERR_CAST(larval); in crypto_larval_add()
139 atomic_set(&larval->alg.cra_refcnt, 2); in crypto_larval_add()
144 alg = &larval->alg; in crypto_larval_add()
149 if (alg != &larval->alg) { in crypto_larval_add()
150 kfree(larval); in crypto_larval_add()
160 struct crypto_larval *larval = (void *)alg; in crypto_larval_kill() local
165 complete_all(&larval->completion); in crypto_larval_kill()
172 struct crypto_larval *larval = (void *)alg; in crypto_larval_wait() local
176 &larval->completion, 60 * HZ); in crypto_larval_wait()
178 alg = larval->adult; in crypto_larval_wait()
185 else if (crypto_is_test_larval(larval) && in crypto_larval_wait()
190 crypto_mod_put(&larval->alg); in crypto_larval_wait()
252 struct crypto_alg *larval; in crypto_alg_mod_lookup() local
270 larval = crypto_larval_lookup(name, type, mask); in crypto_alg_mod_lookup()
271 if (IS_ERR(larval) || !crypto_is_larval(larval)) in crypto_alg_mod_lookup()
272 return larval; in crypto_alg_mod_lookup()
274 ok = crypto_probing_notify(CRYPTO_MSG_ALG_REQUEST, larval); in crypto_alg_mod_lookup()
277 alg = crypto_larval_wait(larval); in crypto_alg_mod_lookup()
279 crypto_mod_put(larval); in crypto_alg_mod_lookup()
282 crypto_larval_kill(larval); in crypto_alg_mod_lookup()