summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
diff options
context:
space:
mode:
authorNikita Zhandarovich <n.zhandarovich@fintech.ru>2023-04-13 17:12:28 +0200
committerAlex Deucher <alexander.deucher@amd.com>2023-04-18 22:28:54 +0200
commit20c3dffdccbd494e0dd631d1660aeecbff6775f2 (patch)
tree73d5d315ad7ceaead3e74a6b60e9b3c8b715a6d5 /drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
parentdrm/amd/display: remove unused variable oldest_index (diff)
downloadlinux-20c3dffdccbd494e0dd631d1660aeecbff6775f2.tar.xz
linux-20c3dffdccbd494e0dd631d1660aeecbff6775f2.zip
radeon: avoid double free in ci_dpm_init()
Several calls to ci_dpm_fini() will attempt to free resources that either have been freed before or haven't been allocated yet. This may lead to undefined or dangerous behaviour. For instance, if r600_parse_extended_power_table() fails, it might call r600_free_extended_power_table() as will ci_dpm_fini() later during error handling. Fix this by only freeing pointers to objects previously allocated. Found by Linux Verification Center (linuxtesting.org) with static analysis tool SVACE. Fixes: cc8dbbb4f62a ("drm/radeon: add dpm support for CI dGPUs (v2)") Co-developed-by: Natalia Petrova <n.petrova@fintech.ru> Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c')
0 files changed, 0 insertions, 0 deletions