Revert "crypto: api - Use work queue in crypto_destroy_instance"

This reverts commit c4cb61c5f9 which is
commit 9ae4577bc077a7e32c3c7d442c95bc76865c0f17 upstream.

It breaks the Android ABI and if it is needed in the future, can be
brought back in an abi-safe way.

Bug: 161946584
Change-Id: Icc26bcbe08b4d0b48cfae0be695a453531b9db50
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman 2023-10-12 11:59:54 +00:00
parent 8f38111724
commit 41aa552887
2 changed files with 2 additions and 17 deletions

View File

@ -17,7 +17,6 @@
#include <linux/rtnetlink.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/workqueue.h>
#include "internal.h"
@ -75,26 +74,15 @@ static void crypto_free_instance(struct crypto_instance *inst)
inst->alg.cra_type->free(inst);
}
static void crypto_destroy_instance_workfn(struct work_struct *w)
static void crypto_destroy_instance(struct crypto_alg *alg)
{
struct crypto_instance *inst = container_of(w, struct crypto_instance,
free_work);
struct crypto_instance *inst = (void *)alg;
struct crypto_template *tmpl = inst->tmpl;
crypto_free_instance(inst);
crypto_tmpl_put(tmpl);
}
static void crypto_destroy_instance(struct crypto_alg *alg)
{
struct crypto_instance *inst = container_of(alg,
struct crypto_instance,
alg);
INIT_WORK(&inst->free_work, crypto_destroy_instance_workfn);
schedule_work(&inst->free_work);
}
/*
* This function adds a spawn to the list secondary_spawns which
* will be used at the end of crypto_remove_spawns to unregister

View File

@ -12,7 +12,6 @@
#include <linux/kconfig.h>
#include <linux/list.h>
#include <linux/types.h>
#include <linux/workqueue.h>
#include <asm/unaligned.h>
@ -61,8 +60,6 @@ struct crypto_instance {
struct crypto_spawn *spawns;
};
struct work_struct free_work;
void *__ctx[] CRYPTO_MINALIGN_ATTR;
};