diff --git a/zio-core.c b/zio-core.c
index 24962dbf8aaecff9167469ebe34ca7bc5de370ed..9e3d51121aab8fbaf43b6510befe5aa44a5caec7 100644
--- a/zio-core.c
+++ b/zio-core.c
@@ -7,6 +7,7 @@
 
 #include <linux/kernel.h>
 #include <linux/slab.h>
+#include <linux/string.h>
 #include <linux/zio.h>
 #include <linux/zio-buffer.h>
 
@@ -22,6 +23,7 @@ struct zio_control *zio_alloc_control(gfp_t gfp)
 	ctrl = kmem_cache_alloc(zio_ctrl_slab, gfp);
 	if (!ctrl)
 		return NULL;
+	memset(ctrl, 0, sizeof(*ctrl));
 	ctrl->major_version = ZIO_MAJOR_VERSION;
 	ctrl->minor_version = ZIO_MINOR_VERSION;
 	if (ntohl(1) == 1)