Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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.Lin@amd.com>
Reviewed-by: Eric Huang <jinhuieric.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 0333052d90683d88531558dcfdbf2525cc37c233)
Cc: stable@vger.kernel.org

authored by

Amber Lin and committed by
Alex Deucher
2e58401a 92858738

+1 -1
+1 -1
drivers/gpu/drm/amd/amdkfd/kfd_module.c
··· 78 78 static void kfd_exit(void) 79 79 { 80 80 kfd_cleanup_processes(); 81 - kfd_debugfs_fini(); 82 81 kfd_process_destroy_wq(); 82 + kfd_debugfs_fini(); 83 83 kfd_procfs_shutdown(); 84 84 kfd_topology_shutdown(); 85 85 kfd_chardev_exit();