| From 1d9d0ecc1ce7f53db132d35e037803dd1265e7a4 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 27 May 2023 11:28:36 +0200 |
| Subject: fbdev: imsttfb: Release framebuffer and dealloc cmap on error path |
| |
| From: Helge Deller <deller@gmx.de> |
| |
| [ 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> |
| --- |
| drivers/video/fbdev/imsttfb.c | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/video/fbdev/imsttfb.c b/drivers/video/fbdev/imsttfb.c |
| index b194e71f07bfc..3d1ae5267a738 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; |
| } |
| -- |
| 2.43.0 |
| |