@@ -258,9 +258,7 @@ static struct crypto_larval *__crypto_register_alg(struct crypto_alg *alg)
list_add(&alg->cra_list, &crypto_alg_list);
list_add(&larval->alg.cra_list, &crypto_alg_list);
-#ifdef CONFIG_CRYPTO_STATS
- memset(&alg->stats, 0, sizeof(alg->stats));
-#endif
+ crypto_stats_init(alg);
out:
return larval;
@@ -1073,6 +1071,11 @@ int crypto_type_has_alg(const char *name, const struct crypto_type *frontend,
EXPORT_SYMBOL_GPL(crypto_type_has_alg);
#ifdef CONFIG_CRYPTO_STATS
+void crypto_stats_init(struct crypto_alg *alg)
+{
+ memset(&alg->stats, 0, sizeof(alg->stats));
+}
+
void crypto_stats_get(struct crypto_alg *alg)
{
crypto_alg_get(alg);
@@ -1284,6 +1287,8 @@ void crypto_stats_skcipher_decrypt(unsigned int cryptlen, int ret,
crypto_alg_put(alg);
}
#else
+void crypto_stats_init(struct crypto_alg *alg)
+{}
void crypto_stats_get(struct crypto_alg *alg)
{}
void crypto_stats_ablkcipher_encrypt(unsigned int nbytes, int ret,
@@ -613,6 +613,7 @@ struct crypto_alg {
} CRYPTO_MINALIGN_ATTR;
+void crypto_stats_init(struct crypto_alg *alg);
void crypto_stats_get(struct crypto_alg *alg);
void crypto_stats_ablkcipher_encrypt(unsigned int nbytes, int ret, struct crypto_alg *alg);
void crypto_stats_ablkcipher_decrypt(unsigned int nbytes, int ret, struct crypto_alg *alg);
This patch add the crypto_stats_init() function. This will permit to remove some ifdef from __crypto_register_alg(). Signed-off-by: Corentin Labbe <clabbe@baylibre.com> --- crypto/algapi.c | 11 ++++++++--- include/linux/crypto.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-)