Message ID | 20241003161236.3527733-1-clf700383@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | fbdev: clps711x-fb: unregister fb when clps711x_fb_probe register failed | expand |
On Fri, Oct 04, 2024 at 12:12:36AM +0800, clingfei wrote: > When register_framebuffer failed, it jumps out_fb_dealloc_cmap without > calling unregister_framebuffer, which may cause potential memory leak. This looks completely wrong. If register_framebuffer() fails, then the work that register_framebuffer() does internally should be cleaned up and unregister_framebuffer() should not be necessary. The code looks correct as-is to me, so there's no need to patch it. If there is a memory leak, that'll be in register_framebuffer() itself.
diff --git a/drivers/video/fbdev/clps711x-fb.c b/drivers/video/fbdev/clps711x-fb.c index 9e3df1df5ac4..69db40a7a361 100644 --- a/drivers/video/fbdev/clps711x-fb.c +++ b/drivers/video/fbdev/clps711x-fb.c @@ -328,10 +328,11 @@ static int clps711x_fb_probe(struct platform_device *pdev) ret = register_framebuffer(info); if (ret) - goto out_fb_dealloc_cmap; + goto out_fb_unregister; return 0; +out_fb_unregister: unregister_framebuffer(info); out_fb_dealloc_cmap:
When register_framebuffer failed, it jumps out_fb_dealloc_cmap without calling unregister_framebuffer, which may cause potential memory leak. Signed-off-by: clingfei <clf700383@gmail.com> --- drivers/video/fbdev/clps711x-fb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)