drm/amdkfd: Fix kfd_process_device_init_vm error handling
authorPhilip Yang <Philip.Yang@amd.com>
Wed, 14 Dec 2022 15:15:17 +0000 (10:15 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 20 Dec 2022 17:57:58 +0000 (12:57 -0500)
commit29d48b87db64b6697ddad007548e51d032081c59
treedef334df9378fe6affb8dafe7829abe82d3c34d9
parent38624d2c972e7692ca59d0d3b97741a3313addb3
drm/amdkfd: Fix kfd_process_device_init_vm error handling

Should only destroy the ib_mem and let process cleanup worker to free
the outstanding BOs. Reset the pointer in pdd->qpd structure, to avoid
NULL pointer access in process destroy worker.

 BUG: kernel NULL pointer dereference, address: 0000000000000010
 Call Trace:
  amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel+0x46/0xb0 [amdgpu]
  kfd_process_device_destroy_cwsr_dgpu+0x40/0x70 [amdgpu]
  kfd_process_destroy_pdds+0x71/0x190 [amdgpu]
  kfd_process_wq_release+0x2a2/0x3b0 [amdgpu]
  process_one_work+0x2a1/0x600
  worker_thread+0x39/0x3d0

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_process.c