crypto: api - Fold crypto_alloc_tfmmem() into crypto_create_tfm_node()

Fold crypto_alloc_tfmmem() into its only remaining caller,
crypto_create_tfm_node().  Previously crypto_alloc_tfmmem() was called
by crypto_clone_tfm(), but crypto_clone_tfm() was removed.

This rolls back the refactoring that was done in commit 3c3a24cb0a
("crypto: api - Add crypto_clone_tfm").

Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Link: https://patch.msgid.link/20260522053028.91165-7-ebiggers@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Eric Biggers
2026-05-22 00:30:28 -05:00
committed by Jakub Kicinski
parent 9d58d14e3a
commit 0200de9d75

View File

@@ -492,42 +492,23 @@ struct crypto_tfm *crypto_alloc_base(const char *alg_name, u32 type, u32 mask)
}
EXPORT_SYMBOL_GPL(crypto_alloc_base);
static void *crypto_alloc_tfmmem(struct crypto_alg *alg,
const struct crypto_type *frontend, int node,
gfp_t gfp)
{
struct crypto_tfm *tfm;
unsigned int tfmsize;
unsigned int total;
char *mem;
tfmsize = frontend->tfmsize;
total = tfmsize + sizeof(*tfm) + frontend->extsize(alg);
mem = kzalloc_node(total, gfp, node);
if (mem == NULL)
return ERR_PTR(-ENOMEM);
tfm = (struct crypto_tfm *)(mem + tfmsize);
tfm->__crt_alg = alg;
tfm->node = node;
return mem;
}
void *crypto_create_tfm_node(struct crypto_alg *alg,
const struct crypto_type *frontend,
int node)
{
struct crypto_tfm *tfm;
size_t size;
char *mem;
int err;
mem = crypto_alloc_tfmmem(alg, frontend, node, GFP_KERNEL);
if (IS_ERR(mem))
goto out;
size = frontend->tfmsize + sizeof(*tfm) + frontend->extsize(alg);
mem = kzalloc_node(size, GFP_KERNEL, node);
if (!mem)
return ERR_PTR(-ENOMEM);
tfm = (struct crypto_tfm *)(mem + frontend->tfmsize);
tfm->__crt_alg = alg;
tfm->node = node;
tfm->fb = tfm;
err = frontend->init_tfm(tfm);