From: Corbin McElhanney Date: Mon, 10 Jul 2017 19:52:10 +0000 (-0400) Subject: drm/amd/display: Fix context copy memory leak X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a85c205ae3d183c196d0af7df336b1315e95faf7;p=linux.git drm/amd/display: Fix context copy memory leak This change corrects an error introduced in 355f123f. Instead of using the copy constructor to assign the new context, we swap the pointer. Signed-off-by: Corbin McElhanney Reviewed-by: Dmytro Laktyushkin Acked-by: Harry Wentland Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index 52077d39b30a4..4f9302901a621 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -972,7 +972,9 @@ static bool dc_commit_context_no_check(struct dc *dc, struct validate_context *c dc_enable_stereo(dc, context, dc_streams, context->stream_count); - dc_resource_validate_ctx_copy_construct(context, core_dc->current_context); + dc_resource_validate_ctx_destruct(core_dc->current_context); + dm_free(core_dc->current_context); + core_dc->current_context = context; return (result == DC_OK); } @@ -1057,9 +1059,6 @@ bool dc_commit_streams( result = dc_commit_context_no_check(dc, context); - dc_resource_validate_ctx_destruct(context); - dm_free(context); - return (result == DC_OK); fail: