Details
[Home]
Issue of the Implementation # L0037
Brief
drivers/video/hecubafb.c: absence of module_put on an error path in hecubafb_probe()
Detailed Description
In hecubafb_probe(), after a successful try_module_get, vzalloc may fail and make the hecubafb_probe return, but the module is not put on this error path.
Possible solutions
diff --git a/drivers/video/hecubafb.c b/drivers/video/hecubafb.c index fbef15f..614251a 100644 --- a/drivers/video/hecubafb.c +++ b/drivers/video/hecubafb.c @@ -233,7 +233,7 @@ static int __devinit hecubafb_probe(struct platform_device *dev) videomemory = vzalloc(videomemorysize); if (!videomemory) - return retval; + goto err_videomem_alloc; info = framebuffer_alloc(sizeof(struct hecubafb_par), &dev->dev); if (!info) @@ -275,6 +275,7 @@ err_fbreg: framebuffer_release(info); err_fballoc: vfree(videomemory); +err_videomem_alloc: module_put(board->owner); return retval; }
Component
linux-kernel 2.6.39
Accepted
https://lkml.org/lkml/2011/6/17/267
commit
Status
Fixed in kernel 3.0-rc6
[Home]
»