[PATCH] media: atomisp: Fix memory leak in atomisp_fixed_pattern_table()

Zilin Guan posted 1 patch 5 days, 23 hours ago
There is a newer version of this series
drivers/staging/media/atomisp/pci/atomisp_cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] media: atomisp: Fix memory leak in atomisp_fixed_pattern_table()
Posted by Zilin Guan 5 days, 23 hours ago
atomisp_v4l2_framebuffer_to_css_frame() allocates memory for
raw_black_frame, which must be released via ia_css_frame_free().
However, if sh_css_set_black_frame() fails, the function returns
immediately without performing this cleanup, leading to a memory leak.

Fix this by assigning the error code to ret and allowing the code to
fall through to the ia_css_frame_free() call.

Compile tested only. Issue found using a prototype static analysis tool
and code review.

Fixes: 85b606e02ad7 ("media: atomisp: get rid of a bunch of other wrappers")
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
---
 drivers/staging/media/atomisp/pci/atomisp_cmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp_cmd.c b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
index 3a4eb4f6d3be..208ff85cd7fb 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_cmd.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
@@ -3369,7 +3369,7 @@ int atomisp_fixed_pattern_table(struct atomisp_sub_device *asd,
 
 	if (sh_css_set_black_frame(asd->stream_env[ATOMISP_INPUT_STREAM_GENERAL].stream,
 				   raw_black_frame) != 0)
-		return -ENOMEM;
+		ret = -ENOMEM;
 
 	ia_css_frame_free(raw_black_frame);
 	return ret;
-- 
2.34.1
Re: [PATCH] media: atomisp: Fix memory leak in atomisp_fixed_pattern_table()
Posted by Greg KH 5 days, 23 hours ago
On Sun, Feb 01, 2026 at 07:21:07AM +0000, Zilin Guan wrote:
> atomisp_v4l2_framebuffer_to_css_frame() allocates memory for
> raw_black_frame, which must be released via ia_css_frame_free().
> However, if sh_css_set_black_frame() fails, the function returns
> immediately without performing this cleanup, leading to a memory leak.
> 
> Fix this by assigning the error code to ret and allowing the code to
> fall through to the ia_css_frame_free() call.
> 
> Compile tested only. Issue found using a prototype static analysis tool
> and code review.

Please properly document this as per the rules we have for using tools
like this.

thanks,

greg k-h
Re: [PATCH] media: atomisp: Fix memory leak in atomisp_fixed_pattern_table()
Posted by Zilin Guan 5 days, 18 hours ago
On Sun, Feb 01, 2026 at 09:10:12AM +0100, Greg KH wrote:
> On Sun, Feb 01, 2026 at 07:21:07AM +0000, Zilin Guan wrote:
> > atomisp_v4l2_framebuffer_to_css_frame() allocates memory for
> > raw_black_frame, which must be released via ia_css_frame_free().
> > However, if sh_css_set_black_frame() fails, the function returns
> > immediately without performing this cleanup, leading to a memory leak.
> > 
> > Fix this by assigning the error code to ret and allowing the code to
> > fall through to the ia_css_frame_free() call.
> > 
> > Compile tested only. Issue found using a prototype static analysis tool
> > and code review.
> 
> Please properly document this as per the rules we have for using tools
> like this.
> 
> thanks,
> 
> greg k-h

My apologies for the overly brief description regarding the tool and 
testing. I will follow the rules and provide a V2 patch with a properly 
documented commit message.

Best regards,
Zilin Guan