diff --git a/lib/test_vmalloc.c b/lib/test_vmalloc.c
index 9dd9745d365f7b9b70d45957c25cd61e5f17bad2..3718d9886407d6a9d7fafb8a90eebc92f2211178 100644
--- a/lib/test_vmalloc.c
+++ b/lib/test_vmalloc.c
@@ -369,7 +369,7 @@ vm_map_ram_test(void)
 	int i;
 
 	map_nr_pages = nr_pages > 0 ? nr_pages:1;
-	pages = kmalloc(map_nr_pages * sizeof(struct page), GFP_KERNEL);
+	pages = kcalloc(map_nr_pages, sizeof(struct page *), GFP_KERNEL);
 	if (!pages)
 		return -1;