summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorYeongjin Gil <youngjin.gil@samsung.com>2023-03-20 15:59:32 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-05-17 11:13:23 +0200
commit0cdddbc0c7b4f54da3651a6cc2b68b6abb8b1880 (patch)
tree2d09e6622ff357679358f7d19a72b0e2e24cae3e /kernel
parentbde2a8599e734d86537b207ecda5703763712d1f (diff)
downloadlinux-stable-0cdddbc0c7b4f54da3651a6cc2b68b6abb8b1880.tar.gz
linux-stable-0cdddbc0c7b4f54da3651a6cc2b68b6abb8b1880.tar.bz2
linux-stable-0cdddbc0c7b4f54da3651a6cc2b68b6abb8b1880.zip
dm verity: fix error handling for check_at_most_once on FEC
[ Upstream commit e8c5d45f82ce0c238a4817739892fe8897a3dcc3 ] 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: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions