From: Eric Biggers Date: Fri, 22 May 2026 05:30:28 +0000 (-0500) Subject: crypto: api - Fold crypto_alloc_tfmmem() into crypto_create_tfm_node() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0200de9d75b15babaa608819b797400198b5b4fc;p=thirdparty%2Flinux.git 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 3c3a24cb0ae4 ("crypto: api - Add crypto_clone_tfm"). Signed-off-by: Eric Biggers Acked-by: Herbert Xu Link: https://patch.msgid.link/20260522053028.91165-7-ebiggers@kernel.org Signed-off-by: Jakub Kicinski --- diff --git a/crypto/api.c b/crypto/api.c index 5bd0db7fa6651..4349c2caa23aa 100644 --- a/crypto/api.c +++ b/crypto/api.c @@ -492,42 +492,23 @@ 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);