diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index cc1fe2672a31b5d17f290fc0e196cc327363f9b3..e1d3d77f4aeef89259d9e3b09e500042a42d7a87 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1750,6 +1750,8 @@ inline void setup_pageset(struct per_cpu_pageset *p, unsigned long batch)
 {
 	struct per_cpu_pages *pcp;
 
+	memset(p, 0, sizeof(*p));
+
 	pcp = &p->pcp[0];		/* hot */
 	pcp->count = 0;
 	pcp->low = 2 * batch;