On Mon, May 15, 2023 at 10:18:16AM +0900, Yeongjin Gil wrote: > 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@xxxxxxxxxxxxxxx > Reviewed-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx> > Signed-off-by: Yeongjin Gil <youngjin.gil@xxxxxxxxxxx> > Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> > (cherry picked from commit e8c5d45f82ce0c238a4817739892fe8897a3dcc3) Why did you send this 3 times? And what kernel(s) is this to be applied to? confused, greg k-h