[PATCH 21.40 2/2] drm/amdgpu: Temporary exclude GTT BOs from KFD memory attachment

Kent Russell kent.russell at amd.com
Mon Nov 1 18:45:21 UTC 2021


kfd_mem_attach is not sharing GTT BOs correctly between processes. This
can cause kernel panics due to NULL pointers depending on which
processes hold references to specific GTT BOs. Temporarily disable this
functionality for now while a proper code refactor and proper fix is
done.

Note that since we don't fully support IOMMU in device-isolation mode at
this time, this temporary workaround won't break anything that isn't
already broken.

Signed-off-by: Kent Russell <kent.russell at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 8d30ccd70800..13b80934d119 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -769,6 +769,7 @@ static int kfd_mem_attach(struct amdgpu_device *adev, struct kgd_mem *mem,
 			ret = kfd_mem_attach_userptr(adev, mem, &bo[i]);
 			if (ret)
 				goto unwind;
+#if 0
 #ifdef AMDKCL_AMDGPU_DMABUF_OPS
 		} else if (mem->domain == AMDGPU_GEM_DOMAIN_GTT &&
 			   mem->bo->tbo.type != ttm_bo_type_sg) {
@@ -780,6 +781,7 @@ static int kfd_mem_attach(struct amdgpu_device *adev, struct kgd_mem *mem,
 			ret = kfd_mem_attach_dmabuf(adev, mem, &bo[i]);
 			if (ret)
 				goto unwind;
+#endif
 #endif
 		/* Enable peer acces to VRAM BO's */
 		} else if (mem->domain == AMDGPU_GEM_DOMAIN_VRAM &&
-- 
2.25.1



More information about the amd-gfx mailing list