[RESEND PATCH] drm/amd/display: prevent memory leak

Rodrigo Siqueira Rodrigo.Siqueira at amd.com
Wed Oct 26 18:04:52 UTC 2022



On 10/26/22 06:01, gehao618 at 163.com wrote:
> From: gehao <gehao at kylinos.cn>
> 
> In dce6(0,1,4)_create_resource_pool and dce8(0,1)_create_resource_pool
> the allocated memory should be released if construct pool fails.
> 
> Signed-off-by: gehao <gehao at kylinos.cn>
> ---
>   drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c | 3 +++
>   drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c | 2 ++
>   2 files changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
> index fc6aa098bda0..8db9f7514466 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
> @@ -1128,6 +1128,7 @@ struct resource_pool *dce60_create_resource_pool(
>   	if (dce60_construct(num_virtual_links, dc, pool))
>   		return &pool->base;
>   
> +	kfree(pool);
>   	BREAK_TO_DEBUGGER();
>   	return NULL;
>   }
> @@ -1325,6 +1326,7 @@ struct resource_pool *dce61_create_resource_pool(
>   	if (dce61_construct(num_virtual_links, dc, pool))
>   		return &pool->base;
>   
> +	kfree(pool);
>   	BREAK_TO_DEBUGGER();
>   	return NULL;
>   }
> @@ -1518,6 +1520,7 @@ struct resource_pool *dce64_create_resource_pool(
>   	if (dce64_construct(num_virtual_links, dc, pool))
>   		return &pool->base;
>   
> +	kfree(pool);
>   	BREAK_TO_DEBUGGER();
>   	return NULL;
>   }
> diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
> index b28025960050..5825e6f412bd 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
> @@ -1137,6 +1137,7 @@ struct resource_pool *dce80_create_resource_pool(
>   	if (dce80_construct(num_virtual_links, dc, pool))
>   		return &pool->base;
>   
> +	kfree(pool);
>   	BREAK_TO_DEBUGGER();
>   	return NULL;
>   }
> @@ -1336,6 +1337,7 @@ struct resource_pool *dce81_create_resource_pool(
>   	if (dce81_construct(num_virtual_links, dc, pool))
>   		return &pool->base;
>   
> +	kfree(pool);
>   	BREAK_TO_DEBUGGER();
>   	return NULL;
>   }

LGTM,

Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>

Applied to amd-staging-drm-next.

Thanks
Siqueira


More information about the amd-gfx mailing list