diff --git a/drivers/video/fbcvt.c b/drivers/video/fbcvt.c
index 0b6af00..ac90883 100644
--- a/drivers/video/fbcvt.c
+++ b/drivers/video/fbcvt.c
@@ -214,12 +214,11 @@
 {
 	u32 pixcount, pixcount_mod;
 	int cnt = 255, offset = 0, read = 0;
-	u8 *buf = kmalloc(256, GFP_KERNEL);
+	u8 *buf = kzalloc(256, GFP_KERNEL);
 
 	if (!buf)
 		return;
 
-	memset(buf, 0, 256);
 	pixcount = (cvt->xres * (cvt->yres/cvt->interlace))/1000000;
 	pixcount_mod = (cvt->xres * (cvt->yres/cvt->interlace)) % 1000000;
 	pixcount_mod /= 1000;
diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
index 0ef75a9..7c74e73 100644
--- a/drivers/video/fbmon.c
+++ b/drivers/video/fbmon.c
@@ -528,10 +528,9 @@
 	unsigned char *block;
 	int num = 0, i;
 
-	mode = kmalloc(50 * sizeof(struct fb_videomode), GFP_KERNEL);
+	mode = kzalloc(50 * sizeof(struct fb_videomode), GFP_KERNEL);
 	if (mode == NULL)
 		return NULL;
-	memset(mode, 0, 50 * sizeof(struct fb_videomode));
 
 	if (edid == NULL || !edid_checksum(edid) || 
 	    !edid_check_header(edid)) {
diff --git a/drivers/video/fbsysfs.c b/drivers/video/fbsysfs.c
index 3514703..6d26057 100644
--- a/drivers/video/fbsysfs.c
+++ b/drivers/video/fbsysfs.c
@@ -43,10 +43,11 @@
 	if (size)
 		fb_info_size += PADDING;
 
-	p = kmalloc(fb_info_size + size, GFP_KERNEL);
+	p = kzalloc(fb_info_size + size, GFP_KERNEL);
+
 	if (!p)
 		return NULL;
-	memset(p, 0, fb_info_size + size);
+
 	info = (struct fb_info *) p;
 
 	if (size)
diff --git a/drivers/video/vgastate.c b/drivers/video/vgastate.c
index d9e01da..15179ec 100644
--- a/drivers/video/vgastate.c
+++ b/drivers/video/vgastate.c
@@ -356,10 +356,11 @@
 {
 	struct regstate *saved;
 
-	saved = kmalloc(sizeof(struct regstate), GFP_KERNEL);
+	saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
+
 	if (saved == NULL)
 		return 1;
-	memset (saved, 0, sizeof(struct regstate));
+
 	state->vidstate = (void *)saved;
 		
 	if (state->flags & VGA_SAVE_CMAP) {
