Re: [PATCH 03/25] media: iris: Fix memory leak by freeing untracked persist buffer

From: Vikash Garodia
Date: Wed Jul 16 2025 - 02:07:30 EST



On 7/4/2025 1:23 PM, Dikshita Agarwal wrote:
> One internal buffer which is allocated only once per session was not
> being freed during session close because it was not being tracked as
> part of internal buffer list which resulted in a memory leak.
>
> Add the necessary logic to explicitly free the untracked internal buffer
> during session close to ensure all allocated memory is released
> properly.
>
> Fixes: 73702f45db81 ("media: iris: allocate, initialize and queue internal buffers")
> Signed-off-by: Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx>
> ---
> drivers/media/platform/qcom/iris/iris_buffer.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_buffer.c b/drivers/media/platform/qcom/iris/iris_buffer.c
> index 6425e4919e3b0b849ba801ca9e01921c114144cd..9f664c241149362d44d3a8fa65e2266f9c2e80e0 100644
> --- a/drivers/media/platform/qcom/iris/iris_buffer.c
> +++ b/drivers/media/platform/qcom/iris/iris_buffer.c
> @@ -413,6 +413,16 @@ static int iris_destroy_internal_buffers(struct iris_inst *inst, u32 plane, bool
> }
> }
>
> + if (force) {
> + buffers = &inst->buffers[BUF_PERSIST];
> +
> + list_for_each_entry_safe(buf, next, &buffers->list, list) {
> + ret = iris_destroy_internal_buffer(inst, buf);
> + if (ret)
> + return ret;
> + }
> + }
> +
> return 0;
> }
>
>

Reviewed-by: Vikash Garodia <quic_vgarodia@xxxxxxxxxxx>