[AMD Official Use Only - AMD Internal Distribution Only]

Reviewed-by: Eric Huang <jinhuieric.hu...@amd.com>

________________________________
From: Lin, Amber <amber....@amd.com>
Sent: August 1, 2025 10:18 AM
To: amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>; Huang, 
JinHuiEric <jinhuieric.hu...@amd.com>
Cc: Lin, Amber <amber....@amd.com>
Subject: [PATCH] drm/amdkfd: Destroy KFD debugfs after destroy KFD wq

Since KFD proc content was moved to kernel debugfs, we can't destroy KFD
debugfs before kfd_process_destroy_wq. Move kfd_process_destroy_wq prior
to kfd_debugfs_fini to fix a kernel NULL pointer problem. It happens
when /sys/kernel/debug/kfd was already destroyed in kfd_debugfs_fini but
kfd_process_destroy_wq calls kfd_debugfs_remove_process. This line
    debugfs_remove_recursive(entry->proc_dentry);
tries to remove /sys/kernel/debug/kfd/proc/<pid> while
/sys/kernel/debug/kfd is already gone. It hangs the kernel by kernel
NULL pointer.

Signed-off-by: Amber Lin <amber....@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_module.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_module.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
index aee2212e52f6..33aa23450b3f 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_module.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
@@ -78,8 +78,8 @@ static int kfd_init(void)
 static void kfd_exit(void)
 {
         kfd_cleanup_processes();
-       kfd_debugfs_fini();
         kfd_process_destroy_wq();
+       kfd_debugfs_fini();
         kfd_procfs_shutdown();
         kfd_topology_shutdown();
         kfd_chardev_exit();
--
2.34.1

Reply via email to