[PATCH] Leak in vesafb

From: Felipe W Damasio
Date: Mon Oct 06 2003 - 16:28:11 EST


Hi Andrew,

Patch against 2.6.0-test6.

Releases a previous request'ed_mem_region. Found by smatch.

Since it didn't checked the return value of request_region, I'm not sure we should free it here...since (as it says on the driver), "vgacon probably has this region already".

Andrew, I'd appreciate you could review this..

Thanks.

Felipe --- linux-2.6.0-test6/drivers/video/vesafb.c.orig 2003-10-06 18:22:13.000000000 -0300
+++ linux-2.6.0-test6/drivers/video/vesafb.c 2003-10-06 18:23:35.000000000 -0300
@@ -366,8 +366,10 @@

fb_alloc_cmap(&fb_info.cmap, video_cmap_len, 0);

- if (register_framebuffer(&fb_info)<0)
+ if (register_framebuffer(&fb_info)<0) {
+ release_mem_region(vesafb_fix.smem_start, vesafb_fix.smem_len);
return -EINVAL;
+ }

printk(KERN_INFO "fb%d: %s frame buffer device\n",
fb_info.node, fb_info.fix.id);