2023-02-06 12:06:35

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 12:23:16

by bluez.test.bot

[permalink] [raw]
Subject: RE: crypto: api - Change completion callback argument to void star

This is an automated email and please do not reply to this email.

Dear Submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While preparing the CI tests, the patches you submitted couldn't be applied to the current HEAD of the repository.

----- Output -----

error: patch failed: crypto/ahash.c:240
error: crypto/ahash.c: patch does not apply
error: patch failed: crypto/cryptd.c:281
error: crypto/cryptd.c: patch does not apply
error: patch failed: crypto/essiv.c:166
error: crypto/essiv.c: patch does not apply
error: patch failed: crypto/rsa-pkcs1pad.c:210
error: crypto/rsa-pkcs1pad.c: patch does not apply
error: patch failed: include/linux/crypto.h:176
error: include/linux/crypto.h: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch

Please resolve the issue and submit the patches again.


---
Regards,
Linux Bluetooth

2023-02-06 17:30:29

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]>