Commit 2e58401a authored by Amber Lin's avatar Amber Lin Committed by Alex Deucher
Browse files

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: default avatarAmber Lin <Amber.Lin@amd.com>
Reviewed-by: default avatarEric Huang <jinhuieric.huang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 0333052d)
Cc: stable@vger.kernel.org
parent 92858738
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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();