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);