[PATCH net-next 6/6] crypto: api - Fold crypto_alloc_tfmmem() into crypto_create_tfm_node()

From: Eric Biggers

Date: Fri May 22 2026 - 01:36:22 EST


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 3c3a24cb0ae4
("crypto: api - Add crypto_clone_tfm").

Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx>
---
crypto/api.c | 33 +++++++--------------------------
1 file changed, 7 insertions(+), 26 deletions(-)

diff --git a/crypto/api.c b/crypto/api.c
index 5bd0db7fa665..4349c2caa23a 100644
--- a/crypto/api.c
+++ b/crypto/api.c
@@ -490,46 +490,27 @@ struct crypto_tfm *crypto_alloc_base(const char *alg_name, u32 type, u32 mask)

return ERR_PTR(err);
}
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);
if (err)
goto out_free_tfm;
--
2.54.0