+++ /dev/null
-From e8c5d45f82ce0c238a4817739892fe8897a3dcc3 Mon Sep 17 00:00:00 2001
-From: Yeongjin Gil <youngjin.gil@samsung.com>
-Date: Mon, 20 Mar 2023 15:59:32 +0900
-Subject: dm verity: fix error handling for check_at_most_once on FEC
-
-From: Yeongjin Gil <youngjin.gil@samsung.com>
-
-commit e8c5d45f82ce0c238a4817739892fe8897a3dcc3 upstream.
-
-In verity_end_io(), if bi_status is not BLK_STS_OK, it can be return
-directly. But if FEC configured, it is desired to correct the data page
-through verity_verify_io. And the return value will be converted to
-blk_status and passed to verity_finish_io().
-
-BTW, when a bit is set in v->validated_blocks, verity_verify_io() skips
-verification regardless of I/O error for the corresponding bio. In this
-case, the I/O error could not be returned properly, and as a result,
-there is a problem that abnormal data could be read for the
-corresponding block.
-
-To fix this problem, when an I/O error occurs, do not skip verification
-even if the bit related is set in v->validated_blocks.
-
-Fixes: 843f38d382b1 ("dm verity: add 'check_at_most_once' option to only validate hashes once")
-Cc: stable@vger.kernel.org
-Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
-Signed-off-by: Yeongjin Gil <youngjin.gil@samsung.com>
-Signed-off-by: Mike Snitzer <snitzer@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/md/dm-verity-target.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/md/dm-verity-target.c
-+++ b/drivers/md/dm-verity-target.c
-@@ -481,7 +481,7 @@ static int verity_verify_io(struct dm_ve
- sector_t cur_block = io->block + b;
- struct ahash_request *req = verity_io_hash_req(v, io);
-
-- if (v->validated_blocks &&
-+ if (v->validated_blocks && bio->bi_status == BLK_STS_OK &&
- likely(test_bit(cur_block, v->validated_blocks))) {
- verity_bv_skip_block(v, io, &io->iter);
- continue;
btrfs-scrub-reject-unsupported-scrub-flags.patch
s390-dasd-fix-hanging-blockdevice-after-request-requeue.patch
ia64-fix-an-addr-to-taddr-in-huge_pte_offset.patch
-dm-verity-fix-error-handling-for-check_at_most_once-on-fec.patch
dm-clone-call-kmem_cache_destroy-in-dm_clone_init-error-path.patch
dm-integrity-call-kmem_cache_destroy-in-dm_integrity_init-error-path.patch
dm-flakey-fix-a-crash-with-invalid-table-line.patch