summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2023-05-27 12:28:36 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-01-10 19:10:29 +0300
commitf2a79f3651a54015507655295931bbf70f90dc8e (patch)
treecad5031d64b35a1e20b1e73f76339b228f89ffdf /drivers/video
parent51a1b943022fe97d78b3f6490dce1e67bf52d060 (diff)
downloadlinux-f2a79f3651a54015507655295931bbf70f90dc8e.tar.xz
fbdev: imsttfb: Release framebuffer and dealloc cmap on error path
[ Upstream commit 5cf9a090a39c97f4506b7b53739d469b1c05a7e9 ] Add missing cleanups in error path. Signed-off-by: Helge Deller <deller@gmx.de> Stable-dep-of: e08c30efda21 ("fbdev: imsttfb: fix double free in probe()") Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/imsttfb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/video/fbdev/imsttfb.c b/drivers/video/fbdev/imsttfb.c
index b194e71f07bf..3d1ae5267a73 100644
--- a/drivers/video/fbdev/imsttfb.c
+++ b/drivers/video/fbdev/imsttfb.c
@@ -1452,9 +1452,13 @@ static int init_imstt(struct fb_info *info)
FBINFO_HWACCEL_FILLRECT |
FBINFO_HWACCEL_YPAN;
- fb_alloc_cmap(&info->cmap, 0, 0);
+ if (fb_alloc_cmap(&info->cmap, 0, 0)) {
+ framebuffer_release(info);
+ return -ENODEV;
+ }
if (register_framebuffer(info) < 0) {
+ fb_dealloc_cmap(&info->cmap);
framebuffer_release(info);
return -ENODEV;
}