diff options
| author | Martin Leung <[email protected]> | 2023-03-14 09:27:20 -0400 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2023-03-31 11:18:54 -0400 |
| commit | f5442b35e69e42015ef3082008c0d85cdcc0ca05 (patch) | |
| tree | d601326e68e5310b02d9949fd24395bf8ba8eb05 | |
| parent | bf224e00a9f54e2bf14b4d720a09c3d2f4aa4aa8 (diff) | |
drm/amd/display: fix double memory allocation
[Why & How]
when trying to fix a nullptr dereference on VMs,
accidentally doubly allocated memory for the non VM
case. removed the extra link_srv creation since
dc_construct_ctx is called in both VM and non VM cases
Also added a proper fail check for if kzalloc fails
Cc: [email protected]
Cc: Mario Limonciello <[email protected]>
Reviewed-by: Leo Ma <[email protected]>
Acked-by: Qingqing Zhuo <[email protected]>
Signed-off-by: Martin Leung <[email protected]>
Tested-by: Daniel Wheeler <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
| -rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index 40f2e174c524..52564b93f7eb 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -887,7 +887,10 @@ static bool dc_construct_ctx(struct dc *dc, } dc->ctx = dc_ctx; + dc->link_srv = link_create_link_service(); + if (!dc->link_srv) + return false; return true; } @@ -986,8 +989,6 @@ static bool dc_construct(struct dc *dc, goto fail; } - dc->link_srv = link_create_link_service(); - dc->res_pool = dc_create_resource_pool(dc, init_params, dc_ctx->dce_version); if (!dc->res_pool) goto fail; |