]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu: fix nullptr err of vm_handle_moved
authorHeng Zhou <Heng.Zhou@amd.com>
Wed, 13 Aug 2025 03:18:04 +0000 (11:18 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:02 +0000 (15:37 -0500)
[ Upstream commit 859958a7faefe5b7742b7b8cdbc170713d4bf158 ]

If a amdgpu_bo_va is fpriv->prt_va, the bo of this one is always NULL.
So, such kind of amdgpu_bo_va should be updated separately before
amdgpu_vm_handle_moved.

Signed-off-by: Heng Zhou <Heng.Zhou@amd.com>
Reviewed-by: Kasiviswanathan, Harish <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c

index 902eac2c685f3ce22a3d7f533623683a69b1ef74..30d4a47535882af70d2a73043d73cfd36dd1c434 100644 (file)
@@ -2993,9 +2993,22 @@ int amdgpu_amdkfd_gpuvm_restore_process_bos(void *info, struct dma_fence __rcu *
                struct amdgpu_device *adev = amdgpu_ttm_adev(
                        peer_vm->root.bo->tbo.bdev);
 
+               struct amdgpu_fpriv *fpriv =
+                       container_of(peer_vm, struct amdgpu_fpriv, vm);
+
+               ret = amdgpu_vm_bo_update(adev, fpriv->prt_va, false);
+               if (ret) {
+                       dev_dbg(adev->dev,
+                               "Memory eviction: handle PRT moved failed, pid %8d. Try again.\n",
+                               pid_nr(process_info->pid));
+                       goto validate_map_fail;
+               }
+
                ret = amdgpu_vm_handle_moved(adev, peer_vm, &exec.ticket);
                if (ret) {
-                       pr_debug("Memory eviction: handle moved failed. Try again\n");
+                       dev_dbg(adev->dev,
+                               "Memory eviction: handle moved failed, pid %8d. Try again.\n",
+                               pid_nr(process_info->pid));
                        goto validate_map_fail;
                }
        }