aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Jordan <daniel.m.jordan@oracle.com>2020-07-14 16:13:51 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2020-07-23 17:34:17 +1000
commitbd25b4886ddcebec92591f298ce2ce345d7f2ea9 (patch)
tree2a8e8bcfbdc63ddb9106b710312a7cbb34c5df43
parentcrypto: qat - fix double free in qat_uclo_create_batch_init_list (diff)
downloadlinux-dev-bd25b4886ddcebec92591f298ce2ce345d7f2ea9.tar.xz
linux-dev-bd25b4886ddcebec92591f298ce2ce345d7f2ea9.zip
padata: remove start function
padata_start() is only used right after pcrypt allocates an instance with all possible CPUs, when PADATA_INVALID can't happen, so there's no need for a separate "start" step. It can be done during allocation to save text, make using padata easier, and avoid unneeded calls in the future. Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: Steffen Klassert <steffen.klassert@secunet.com> Cc: linux-crypto@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/pcrypt.c3
-rw-r--r--include/linux/padata.h1
-rw-r--r--kernel/padata.c26
3 files changed, 1 insertions, 29 deletions
diff --git a/crypto/pcrypt.c b/crypto/pcrypt.c
index cbc383a1a3fe..fb9127ec5357 100644
--- a/crypto/pcrypt.c
+++ b/crypto/pcrypt.c
@@ -355,9 +355,6 @@ static int __init pcrypt_init(void)
if (err)
goto err_deinit_pencrypt;
- padata_start(pencrypt);
- padata_start(pdecrypt);
-
return crypto_register_template(&pcrypt_tmpl);
err_deinit_pencrypt:
diff --git a/include/linux/padata.h b/include/linux/padata.h
index 7302efff5e65..20294cddc739 100644
--- a/include/linux/padata.h
+++ b/include/linux/padata.h
@@ -204,6 +204,5 @@ extern void padata_do_serial(struct padata_priv *padata);
extern void __init padata_do_multithreaded(struct padata_mt_job *job);
extern int padata_set_cpumask(struct padata_instance *pinst, int cpumask_type,
cpumask_var_t cpumask);
-extern int padata_start(struct padata_instance *pinst);
extern void padata_stop(struct padata_instance *pinst);
#endif
diff --git a/kernel/padata.c b/kernel/padata.c
index 4373f7adaa40..931762316612 100644
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -790,30 +790,6 @@ out:
EXPORT_SYMBOL(padata_set_cpumask);
/**
- * padata_start - start the parallel processing
- *
- * @pinst: padata instance to start
- *
- * Return: 0 on success or negative error code
- */
-int padata_start(struct padata_instance *pinst)
-{
- int err = 0;
-
- mutex_lock(&pinst->lock);
-
- if (pinst->flags & PADATA_INVALID)
- err = -EINVAL;
-
- __padata_start(pinst);
-
- mutex_unlock(&pinst->lock);
-
- return err;
-}
-EXPORT_SYMBOL(padata_start);
-
-/**
* padata_stop - stop the parallel processing
*
* @pinst: padata instance to stop
@@ -1100,7 +1076,7 @@ static struct padata_instance *padata_alloc(const char *name,
if (padata_setup_cpumasks(pinst))
goto err_free_rcpumask_cbcpu;
- pinst->flags = 0;
+ __padata_start(pinst);
kobject_init(&pinst->kobj, &padata_attr_type);
mutex_init(&pinst->lock);