summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-verity-fec.c
diff options
context:
space:
mode:
authorSami Tolvanen <samitolvanen@google.com>2016-06-21 20:02:42 +0200
committerMike Snitzer <snitzer@redhat.com>2016-07-02 05:29:08 +0200
commit602d1657c603eedd7379a8bcde1ad3a2972ecc5f (patch)
tree1e391897d0ad8cddcbe5cdb4544166e696762088 /drivers/md/dm-verity-fec.c
parentdm ioctl: Simplify parameter buffer management code (diff)
downloadlinux-602d1657c603eedd7379a8bcde1ad3a2972ecc5f.tar.xz
linux-602d1657c603eedd7379a8bcde1ad3a2972ecc5f.zip
dm verity fec: fix block calculation
do_div was replaced with div64_u64 at some point, causing a bug with block calculation due to incompatible semantics of the two functions. Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Fixes: a739ff3f543a ("dm verity: add support for forward error correction") Cc: stable@vger.kernel.org # v4.5+ Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-verity-fec.c')
-rw-r--r--drivers/md/dm-verity-fec.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/md/dm-verity-fec.c b/drivers/md/dm-verity-fec.c
index 459a9f8905ed..0f0eb8a3d922 100644
--- a/drivers/md/dm-verity-fec.c
+++ b/drivers/md/dm-verity-fec.c
@@ -453,9 +453,7 @@ int verity_fec_decode(struct dm_verity *v, struct dm_verity_io *io,
*/
offset = block << v->data_dev_block_bits;
-
- res = offset;
- div64_u64(res, v->fec->rounds << v->data_dev_block_bits);
+ res = div64_u64(offset, v->fec->rounds << v->data_dev_block_bits);
/*
* The base RS block we can feed to the interleaver to find out all