Lines Matching defs:larval

98 	struct crypto_larval *larval = (void *)alg;
101 if (!IS_ERR_OR_NULL(larval->adult))
102 crypto_mod_put(larval->adult);
103 kfree(larval);
108 struct crypto_larval *larval;
110 larval = kzalloc(sizeof(*larval), GFP_KERNEL);
111 if (!larval)
114 larval->mask = mask;
115 larval->alg.cra_flags = CRYPTO_ALG_LARVAL | type;
116 larval->alg.cra_priority = -1;
117 larval->alg.cra_destroy = crypto_larval_destroy;
119 strscpy(larval->alg.cra_name, name, CRYPTO_MAX_ALG_NAME);
120 init_completion(&larval->completion);
122 return larval;
130 struct crypto_larval *larval;
132 larval = crypto_larval_alloc(name, type, mask);
133 if (IS_ERR(larval))
134 return ERR_CAST(larval);
136 refcount_set(&larval->alg.cra_refcnt, 2);
141 alg = &larval->alg;
146 if (alg != &larval->alg) {
147 kfree(larval);
157 struct crypto_larval *larval = (void *)alg;
162 complete_all(&larval->completion);
167 void crypto_wait_for_test(struct crypto_larval *larval)
171 err = crypto_probing_notify(CRYPTO_MSG_ALG_REGISTER, larval->adult);
175 err = wait_for_completion_killable(&larval->completion);
178 crypto_larval_kill(&larval->alg);
182 static void crypto_start_test(struct crypto_larval *larval)
184 if (!crypto_is_test_larval(larval))
187 if (larval->test_started)
191 if (larval->test_started) {
196 larval->test_started = true;
199 crypto_wait_for_test(larval);
204 struct crypto_larval *larval = (void *)alg;
208 crypto_start_test(larval);
211 &larval->completion, 60 * HZ);
213 alg = larval->adult;
222 else if (crypto_is_test_larval(larval) &&
229 crypto_mod_put(&larval->alg);
318 struct crypto_alg *larval;
331 larval = crypto_larval_lookup(name, type, mask);
332 if (IS_ERR(larval) || !crypto_is_larval(larval))
333 return larval;
335 ok = crypto_probing_notify(CRYPTO_MSG_ALG_REQUEST, larval);
338 alg = crypto_larval_wait(larval);
340 crypto_mod_put(larval);
343 crypto_larval_kill(larval);