Well of hand this patch looks like a clear NAK to me.

Returning without raising an error is certainly the wrong thing to do here because we just drop the necessary page table updates.

How does the entity->rq ends up as NULL in the first place?

Regards,
Christian.

Am 19.02.20 um 07:26 schrieb Zhang, Hawking:
[AMD Official Use Only - Internal Distribution Only]

Reviewed-by: Hawking Zhang <[email protected]>

Regards,
Hawking
-----Original Message-----
From: Dennis Li <[email protected]>
Sent: Wednesday, February 19, 2020 12:05
To: [email protected]; Deucher, Alexander <[email protected]>; Zhou1, Tao 
<[email protected]>; Zhang, Hawking <[email protected]>; Chen, Guchun 
<[email protected]>
Cc: Li, Dennis <[email protected]>
Subject: [PATCH] drm/amdgpu: fix a bug NULL pointer dereference

check whether the queue of entity is null to avoid null pointer dereference.

Change-Id: I08d56774012cf229ba2fe7a011c1359e8d1e2781
Signed-off-by: Dennis Li <[email protected]>

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
index 4cc7881f438c..67cca463ddcc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
@@ -95,6 +95,9 @@ static int amdgpu_vm_sdma_commit(struct 
amdgpu_vm_update_params *p,
        int r;
entity = p->direct ? &p->vm->direct : &p->vm->delayed;
+       if (!entity->rq)
+               return 0;
+
        ring = container_of(entity->rq->sched, struct amdgpu_ring, sched);
WARN_ON(ib->length_dw == 0);
--
2.17.1
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to