]> Gentwo Git Trees - linux/.git/commitdiff
dm-crypt: set atomic as false when calling crypt_convert() in kworker
authorHou Tao <houtao1@huawei.com>
Mon, 20 Jan 2025 08:29:46 +0000 (16:29 +0800)
committerMikulas Patocka <mpatocka@redhat.com>
Tue, 21 Jan 2025 12:24:35 +0000 (13:24 +0100)
Both kcryptd_crypt_write_continue() and kcryptd_crypt_read_continue()
are running in the kworker context, it is OK to call cond_resched(),
Therefore, set atomic as false when invoking crypt_convert() under
kworker context.

Signed-off-by: Hou Tao <houtao1@huawei.com>
Reviewed-by: Ignat Korchagin <ignat@cloudflare.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
drivers/md/dm-crypt.c

index 1ae2c71bb383b7724559b7304cf9b9b24bf6e23f..424c8fc3f0ada9d7f495012753b0c57839fe8199 100644 (file)
@@ -2098,7 +2098,7 @@ static void kcryptd_crypt_write_continue(struct work_struct *work)
        wait_for_completion(&ctx->restart);
        reinit_completion(&ctx->restart);
 
-       r = crypt_convert(cc, &io->ctx, true, false);
+       r = crypt_convert(cc, &io->ctx, false, false);
        if (r)
                io->error = r;
        crypt_finished = atomic_dec_and_test(&ctx->cc_pending);
@@ -2203,7 +2203,7 @@ static void kcryptd_crypt_read_continue(struct work_struct *work)
        wait_for_completion(&io->ctx.restart);
        reinit_completion(&io->ctx.restart);
 
-       r = crypt_convert(cc, &io->ctx, true, false);
+       r = crypt_convert(cc, &io->ctx, false, false);
        if (r)
                io->error = r;