Commit ad4e80a6 authored by Sunwook Eom's avatar Sunwook Eom Committed by Mike Snitzer
Browse files

dm verity fec: fix hash block number in verity_fec_decode



The error correction data is computed as if data and hash blocks
were concatenated. But hash block number starts from v->hash_start.
So, we have to calculate hash block number based on that.

Fixes: a739ff3f ("dm verity: add support for forward error correction")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarSunwook Eom <speed.eom@samsung.com>
Reviewed-by: default avatarSami Tolvanen <samitolvanen@google.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent 31b22120
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -435,7 +435,7 @@ int verity_fec_decode(struct dm_verity *v, struct dm_verity_io *io,
	fio->level++;

	if (type == DM_VERITY_BLOCK_TYPE_METADATA)
		block += v->data_blocks;
		block = block - v->hash_start + v->data_blocks;

	/*
	 * For RS(M, N), the continuous FEC data is divided into blocks of N