On Tue, May 09, 2023 at 09:18:56PM +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) > --- > drivers/md/dm-verity-target.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) You sent multiple versions of this, that are different, and I have no idea which one is correct :( Please resend a v2 so that we have a chance to get this right. thanks, greg k-h