mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-27 11:01:10 +07:00
drm/amdgpu: fix potential memory leak during navi12 deinitialization
[ Upstream commit e6d5c64efaa34aae3815a9afeb1314a976142e83 ] Navi12 HDCP & DTM deinitialization needs continue to free bo if already created though initialized flag is not set. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Jiawei Gu <Jiawei.Gu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
9910f52b4c
commit
279af879c3
@ -1283,8 +1283,12 @@ static int psp_hdcp_terminate(struct psp_context *psp)
|
||||
if (amdgpu_sriov_vf(psp->adev))
|
||||
return 0;
|
||||
|
||||
if (!psp->hdcp_context.hdcp_initialized)
|
||||
return 0;
|
||||
if (!psp->hdcp_context.hdcp_initialized) {
|
||||
if (psp->hdcp_context.hdcp_shared_buf)
|
||||
goto out;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
ret = psp_hdcp_unload(psp);
|
||||
if (ret)
|
||||
@ -1292,6 +1296,7 @@ static int psp_hdcp_terminate(struct psp_context *psp)
|
||||
|
||||
psp->hdcp_context.hdcp_initialized = false;
|
||||
|
||||
out:
|
||||
/* free hdcp shared memory */
|
||||
amdgpu_bo_free_kernel(&psp->hdcp_context.hdcp_shared_bo,
|
||||
&psp->hdcp_context.hdcp_shared_mc_addr,
|
||||
@ -1430,8 +1435,12 @@ static int psp_dtm_terminate(struct psp_context *psp)
|
||||
if (amdgpu_sriov_vf(psp->adev))
|
||||
return 0;
|
||||
|
||||
if (!psp->dtm_context.dtm_initialized)
|
||||
return 0;
|
||||
if (!psp->dtm_context.dtm_initialized) {
|
||||
if (psp->dtm_context.dtm_shared_buf)
|
||||
goto out;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
ret = psp_dtm_unload(psp);
|
||||
if (ret)
|
||||
@ -1439,6 +1448,7 @@ static int psp_dtm_terminate(struct psp_context *psp)
|
||||
|
||||
psp->dtm_context.dtm_initialized = false;
|
||||
|
||||
out:
|
||||
/* free hdcp shared memory */
|
||||
amdgpu_bo_free_kernel(&psp->dtm_context.dtm_shared_bo,
|
||||
&psp->dtm_context.dtm_shared_mc_addr,
|
||||
|
Loading…
Reference in New Issue
Block a user