diff options
author | Sami Tolvanen <samitolvanen@google.com> | 2016-06-17 11:22:03 -0700 |
---|---|---|
committer | Vikram Mulukutla <markivx@codeaurora.org> | 2016-10-28 14:49:20 -0700 |
commit | ade8ed0d7d15a82d44c49272b9797d21182edfe7 (patch) | |
tree | 30adabe251505de5668ef36da1b287051f9cf875 | |
parent | c1d1dd3794d9fd7a9d728b8b318977f6f36e860f (diff) |
ANDROID: dm verity fec: fix RS block calculation
A call to do_div was changed in Linux 4.5 to div64_u64 in
verity_fec_decode, which broke RS block calculation due to
incompatible semantics. This change fixes the computation.
Bug: 21893453
Change-Id: Idb88b901e0209c2cccc9c0796689f780592d58f9
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
(cherry picked from commit 879aac93eebcc2862d71afa9eca3a0c0f51b3b01)
Git-commit: 8f9576b38193b8eb32d94d17f02baab436c3580a
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
-rw-r--r-- | drivers/md/dm-verity-fec.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/md/dm-verity-fec.c b/drivers/md/dm-verity-fec.c index 454535d23a7f..a1e8571ce314 100644 --- a/drivers/md/dm-verity-fec.c +++ b/drivers/md/dm-verity-fec.c @@ -463,9 +463,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 |