Re: [PATCH] Leak in vesafb
From: Felipe W Damasio
Date: Mon Oct 06 2003 - 16:36:31 EST
Felipe W Damasio wrote:
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..
Also, this updated patch also iounmap fb_info.screen_base, since
we're about to return -EINVAL on vesa_init.
Cheers,
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:33:39.000000000 -0300
@@ -366,8 +366,11 @@
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);
+ iounmap(fb_info.screen_base);
return -EINVAL;
+ }
printk(KERN_INFO "fb%d: %s frame buffer device\n",
fb_info.node, fb_info.fix.id);