2023-02-06 11:34:24

by Herbert Xu

[permalink] [raw]
Subject: [PATCH 1/17] dm: Add scaffolding to change completion function signature

This patch adds temporary scaffolding so that the Crypto API
completion function can take a void * instead of crypto_async_request.
Once affected users have been converted this can be removed.

Signed-off-by: Herbert Xu <[email protected]>
---

drivers/md/dm-crypt.c | 8 +++-----
drivers/md/dm-integrity.c | 4 ++--
2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 2653516bcdef..7609fe39ab8c 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1458,8 +1458,7 @@ static int crypt_convert_block_skcipher(struct crypt_config *cc,
return r;
}

-static void kcryptd_async_done(struct crypto_async_request *async_req,
- int error);
+static void kcryptd_async_done(crypto_completion_data_t *async_req, int error);

static int crypt_alloc_req_skcipher(struct crypt_config *cc,
struct convert_context *ctx)
@@ -2147,10 +2146,9 @@ static void kcryptd_crypt_read_convert(struct dm_crypt_io *io)
crypt_dec_pending(io);
}

-static void kcryptd_async_done(struct crypto_async_request *async_req,
- int error)
+static void kcryptd_async_done(crypto_completion_data_t *data, int error)
{
- struct dm_crypt_request *dmreq = async_req->data;
+ struct dm_crypt_request *dmreq = crypto_get_completion_data(data);
struct convert_context *ctx = dmreq->ctx;
struct dm_crypt_io *io = container_of(ctx, struct dm_crypt_io, ctx);
struct crypt_config *cc = io->cc;
diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c
index 1388ee35571e..eefe25ed841e 100644
--- a/drivers/md/dm-integrity.c
+++ b/drivers/md/dm-integrity.c
@@ -955,9 +955,9 @@ static void xor_journal(struct dm_integrity_c *ic, bool encrypt, unsigned sectio
async_tx_issue_pending_all();
}

-static void complete_journal_encrypt(struct crypto_async_request *req, int err)
+static void complete_journal_encrypt(crypto_completion_data_t *data, int err)
{
- struct journal_completion *comp = req->data;
+ struct journal_completion *comp = crypto_get_completion_data(data);
if (unlikely(err)) {
if (likely(err == -EINPROGRESS)) {
complete(&comp->ic->crypto_backoff);


2023-02-06 17:30:27

by Mike Snitzer

[permalink] [raw]
Subject: Re: [PATCH 1/17] dm: Add scaffolding to change completion function signature

On Mon, Feb 06 2023 at 5:22P -0500,
Herbert Xu <[email protected]> wrote:

> This patch adds temporary scaffolding so that the Crypto API
> completion function can take a void * instead of crypto_async_request.
> Once affected users have been converted this can be removed.
>
> Signed-off-by: Herbert Xu <[email protected]>

Acked-by: Mike Snitzer <[email protected]>