]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu/vcn: Fix double-free of vcn dump buffer
authorLijo Lazar <lijo.lazar@amd.com>
Tue, 5 Aug 2025 12:10:09 +0000 (17:40 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 6 Aug 2025 18:21:16 +0000 (14:21 -0400)
The buffer is already freed as part of amdgpu_vcn_reg_dump_fini(). The
issue is introduced by below patch series.

Fixes: de55cbff5ce9 ("drm/amdgpu/vcn: Add regdump helper functions")
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c

index b497a67141384a88793a3f2e36510194a542e26e..050a5411aae5445121810e37a6e9267195da5fa2 100644 (file)
@@ -1549,6 +1549,7 @@ int amdgpu_vcn_reg_dump_init(struct amdgpu_device *adev,
 static void amdgpu_vcn_reg_dump_fini(struct amdgpu_device *adev)
 {
        kfree(adev->vcn.ip_dump);
+       adev->vcn.ip_dump = NULL;
        adev->vcn.reg_list = NULL;
        adev->vcn.reg_count = 0;
 }
index ff2a85619f232170a114c276ebcb9571e51d2d6c..95173156f956aa1aab9b717abf322183b1ce0c16 100644 (file)
@@ -354,7 +354,6 @@ static int vcn_v3_0_sw_fini(struct amdgpu_ip_block *ip_block)
                        return r;
        }
 
-       kfree(adev->vcn.ip_dump);
        return 0;
 }
 
index c6450ed65c12dad4f1a10f5a61acd5392db44692..019bd362edb22c7cedc3fa056df9e1dd16571c24 100644 (file)
@@ -280,8 +280,6 @@ static int vcn_v4_0_3_sw_fini(struct amdgpu_ip_block *ip_block)
                        return r;
        }
 
-       kfree(adev->vcn.ip_dump);
-
        return 0;
 }
 
index f785467370d9acb2fabf2393389dc58793ac6532..75c884a8f556bef0b3a8231c86e56f4d69942320 100644 (file)
@@ -275,8 +275,6 @@ static int vcn_v4_0_5_sw_fini(struct amdgpu_ip_block *ip_block)
                        return r;
        }
 
-       kfree(adev->vcn.ip_dump);
-
        return 0;
 }