Lines Matching refs:larval
50 static inline int crypto_is_test_larval(struct crypto_larval *larval)
52 return larval->alg.cra_driver_name[0];
97 struct crypto_larval *larval = (void *)alg;
100 if (!IS_ERR_OR_NULL(larval->adult))
101 crypto_mod_put(larval->adult);
102 kfree(larval);
107 struct crypto_larval *larval;
109 larval = kzalloc(sizeof(*larval), GFP_KERNEL);
110 if (!larval)
113 larval->mask = mask;
114 larval->alg.cra_flags = CRYPTO_ALG_LARVAL | type;
115 larval->alg.cra_priority = -1;
116 larval->alg.cra_destroy = crypto_larval_destroy;
118 strlcpy(larval->alg.cra_name, name, CRYPTO_MAX_ALG_NAME);
119 init_completion(&larval->completion);
121 return larval;
129 struct crypto_larval *larval;
131 larval = crypto_larval_alloc(name, type, mask);
132 if (IS_ERR(larval))
133 return ERR_CAST(larval);
135 refcount_set(&larval->alg.cra_refcnt, 2);
140 alg = &larval->alg;
145 if (alg != &larval->alg) {
146 kfree(larval);
156 struct crypto_larval *larval = (void *)alg;
161 complete_all(&larval->completion);
168 struct crypto_larval *larval = (void *)alg;
172 &larval->completion, 60 * HZ);
174 alg = larval->adult;
183 else if (crypto_is_test_larval(larval) &&
188 crypto_mod_put(&larval->alg);
264 struct crypto_alg *larval;
277 larval = crypto_larval_lookup(name, type, mask);
278 if (IS_ERR(larval) || !crypto_is_larval(larval))
279 return larval;
281 ok = crypto_probing_notify(CRYPTO_MSG_ALG_REQUEST, larval);
284 alg = crypto_larval_wait(larval);
286 crypto_mod_put(larval);
289 crypto_larval_kill(larval);