summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorPavel Shved <shved@ispras.ru>2011-06-17 16:25:12 +0000
committerPaul Mundt <lethal@linux-sh.org>2011-06-24 17:00:39 +0900
commit291600193e5c0c3f0a9af1f23a8076dd7417c02a (patch)
tree94d64fc90e5bd5de69ce4b9e0df0b169db82b544 /drivers/video
parent9845afc8fa32de145d56c8e69b7900e10371255d (diff)
downloadlinux-3.10-291600193e5c0c3f0a9af1f23a8076dd7417c02a.tar.gz
linux-3.10-291600193e5c0c3f0a9af1f23a8076dd7417c02a.tar.bz2
linux-3.10-291600193e5c0c3f0a9af1f23a8076dd7417c02a.zip
hecubafb: add module_put on error path in hecubafb_probe()
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. This patch adds an exit point that calls module_put in such situation. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Pavel Shved <shved@ispras.ru> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/hecubafb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/video/hecubafb.c b/drivers/video/hecubafb.c
index fbef15f7a21..614251a9af9 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;
}