drm/amdgpu: bo could be null when access in vm bo update
authorJunwei Zhang <Jerry.Zhang@amd.com>
Mon, 23 Apr 2018 09:21:21 +0000 (17:21 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 May 2018 18:43:49 +0000 (13:43 -0500)
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: David Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index 6a372ca..1c00f1a 100644 (file)
@@ -1509,7 +1509,6 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev,
        struct drm_mm_node *nodes;
        struct dma_fence *exclusive, **last_update;
        uint64_t flags;
-       uint32_t mem_type;
        int r;
 
        if (clear || !bo_va->base.bo) {
@@ -1568,9 +1567,9 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev,
         * the evicted list so that it gets validated again on the
         * next command submission.
         */
-       mem_type = bo->tbo.mem.mem_type;
        if (bo && bo->tbo.resv == vm->root.base.bo->tbo.resv &&
-           !(bo->preferred_domains & amdgpu_mem_type_to_domain(mem_type)))
+           !(bo->preferred_domains &
+           amdgpu_mem_type_to_domain(bo->tbo.mem.mem_type)))
                list_add_tail(&bo_va->base.vm_status, &vm->evicted);
        spin_unlock(&vm->status_lock);