[PATCH] drm/amdgpu: fix userq resource double freed

Zhang, Jesse(Jie) Jesse.Zhang at amd.com
Tue May 13 02:45:06 UTC 2025


[AMD Official Use Only - AMD Internal Distribution Only]

This patch fixed a similar problem for me.

Reviewed-by: Jesse Zhang <Jesse.Zhang at amd.com>
-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Prike Liang
Sent: Monday, May 12, 2025 3:30 PM
To: amd-gfx at lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Koenig, Christian <Christian.Koenig at amd.com>; Liang, Prike <Prike.Liang at amd.com>
Subject: [PATCH] drm/amdgpu: fix userq resource double freed

As the userq resource was already freed at the drm_release early phase, it should avoid freeing userq resource again at the later kms postclose callback.

Signed-off-by: Prike Liang <Prike.Liang at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 8d4a2aed7231..cf0f35a7daee 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -1502,10 +1502,11 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
                amdgpu_bo_unreserve(pd);
        }

-       fpriv->evf_mgr.fd_closing = true;
-       amdgpu_userq_mgr_fini(&fpriv->userq_mgr);
-       amdgpu_eviction_fence_destroy(&fpriv->evf_mgr);
-
+       if (!fpriv->evf_mgr.fd_closing) {
+               fpriv->evf_mgr.fd_closing = true;
+               amdgpu_userq_mgr_fini(&fpriv->userq_mgr);
+               amdgpu_eviction_fence_destroy(&fpriv->evf_mgr);
+       }
        amdgpu_ctx_mgr_fini(&fpriv->ctx_mgr);
        amdgpu_vm_fini(adev, &fpriv->vm);

--
2.34.1



More information about the amd-gfx mailing list