verity: root hash should not rely on uninitialized memory
Fixes a valgrind warning. This bug is harmless should so
not be considered critical.
BUG=chromium-os:9752
TEST=Ran dm-verity.git unit tests with USE=valgrind.
Change-Id: I689bbf493e7fe073980c3a0ee6df8c2a6dbd4620
Reviewed-on: http://gerrit.chromium.org/gerrit/4338
Reviewed-by: Paul Taysom <taysom@google.com>
Reviewed-by: Will Drewry <wad@chromium.org>
Tested-by: Mandeep Singh Baines <msb@chromium.org>
diff --git a/dm-bht.c b/dm-bht.c
index a9968c0..55ee549 100644
--- a/dm-bht.c
+++ b/dm-bht.c
@@ -662,6 +662,7 @@
}
entry->nodes = page_address(pg);
+ memset(entry->nodes, 0, PAGE_SIZE);
atomic_set(&entry->state, DM_BHT_ENTRY_READY);
if (i == (level->count - 1))
diff --git a/dm-bht_unittest.cc b/dm-bht_unittest.cc
index 28ee740..bbd7254 100644
--- a/dm-bht_unittest.cc
+++ b/dm-bht_unittest.cc
@@ -249,7 +249,7 @@
static const unsigned int total_blocks = 16000;
// Set the root hash for a 0-filled image
static const char kRootDigest[] =
- "074434bb97fd11751231d4bb069985e1de42d3add1fbdd2bee9db08044a87b2d";
+ "10832dd62c427bcf68c56c8de0d1f9c32b61d9e5ddf43c77c56a97b372ad4b07";
// A page of all zeros
u8 *zero_page = (u8 *)my_memalign(PAGE_SIZE, PAGE_SIZE);