mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
crypto: algapi - remove crypto_template::{alloc,free}()
Now that all templates provide a ->create() method which creates an instance, installs a strongly-typed ->free() method directly to it, and registers it, the older ->alloc() and ->free() methods in 'struct crypto_template' are no longer used. Remove them. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
a39c66cc2f
commit
a24a1fd731
@ -185,11 +185,6 @@ static void crypto_aead_free_instance(struct crypto_instance *inst)
|
||||
{
|
||||
struct aead_instance *aead = aead_instance(inst);
|
||||
|
||||
if (!aead->free) {
|
||||
inst->tmpl->free(inst);
|
||||
return;
|
||||
}
|
||||
|
||||
aead->free(aead);
|
||||
}
|
||||
|
||||
|
@ -515,11 +515,6 @@ static void crypto_ahash_free_instance(struct crypto_instance *inst)
|
||||
{
|
||||
struct ahash_instance *ahash = ahash_instance(inst);
|
||||
|
||||
if (!ahash->free) {
|
||||
inst->tmpl->free(inst);
|
||||
return;
|
||||
}
|
||||
|
||||
ahash->free(ahash);
|
||||
}
|
||||
|
||||
|
@ -65,11 +65,6 @@ static int crypto_check_alg(struct crypto_alg *alg)
|
||||
|
||||
static void crypto_free_instance(struct crypto_instance *inst)
|
||||
{
|
||||
if (!inst->alg.cra_type->free) {
|
||||
inst->tmpl->free(inst);
|
||||
return;
|
||||
}
|
||||
|
||||
inst->alg.cra_type->free(inst);
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,6 @@ static int cryptomgr_probe(void *data)
|
||||
{
|
||||
struct cryptomgr_param *param = data;
|
||||
struct crypto_template *tmpl;
|
||||
struct crypto_instance *inst;
|
||||
int err;
|
||||
|
||||
tmpl = crypto_lookup_template(param->template);
|
||||
@ -66,16 +65,7 @@ static int cryptomgr_probe(void *data)
|
||||
goto out;
|
||||
|
||||
do {
|
||||
if (tmpl->create) {
|
||||
err = tmpl->create(tmpl, param->tb);
|
||||
continue;
|
||||
}
|
||||
|
||||
inst = tmpl->alloc(param->tb);
|
||||
if (IS_ERR(inst))
|
||||
err = PTR_ERR(inst);
|
||||
else if ((err = crypto_register_instance(tmpl, inst)))
|
||||
tmpl->free(inst);
|
||||
err = tmpl->create(tmpl, param->tb);
|
||||
} while (err == -EAGAIN && !signal_pending(current));
|
||||
|
||||
crypto_tmpl_put(tmpl);
|
||||
|
@ -427,11 +427,6 @@ static void crypto_shash_free_instance(struct crypto_instance *inst)
|
||||
{
|
||||
struct shash_instance *shash = shash_instance(inst);
|
||||
|
||||
if (!shash->free) {
|
||||
inst->tmpl->free(inst);
|
||||
return;
|
||||
}
|
||||
|
||||
shash->free(shash);
|
||||
}
|
||||
|
||||
|
@ -63,8 +63,6 @@ struct crypto_template {
|
||||
struct hlist_head instances;
|
||||
struct module *module;
|
||||
|
||||
struct crypto_instance *(*alloc)(struct rtattr **tb);
|
||||
void (*free)(struct crypto_instance *inst);
|
||||
int (*create)(struct crypto_template *tmpl, struct rtattr **tb);
|
||||
|
||||
char name[CRYPTO_MAX_ALG_NAME];
|
||||
|
Loading…
Reference in New Issue
Block a user