[PATCH] drm/amdgpu: shadow in shadow_list without tbo.mem.start cause page fault in sriov TDR
Christian König
ckoenig.leichtzumerken at gmail.com
Fri Apr 12 07:27:35 UTC 2019
Am 12.04.19 um 09:13 schrieb wentalou:
> shadow was added into shadow_list by amdgpu_bo_create_shadow.
> meanwhile, shadow->tbo.mem was not fully configured.
> tbo.mem would be fully configured by amdgpu_vm_sdma_map_table until calling amdgpu_vm_clear_bo.
> If sriov TDR occurred between amdgpu_bo_create_shadow and amdgpu_vm_sdma_map_table,
> amdgpu_device_recover_vram would deal with shadow without tbo.mem.start.
>
> Change-Id: I1a6a69587d6c689d0a357dd495ee44833d0f0790
> Signed-off-by: Wentao Lou <Wentao.Lou at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 3785195..be88d06 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -3184,6 +3184,7 @@ static int amdgpu_device_recover_vram(struct amdgpu_device *adev)
>
> /* No need to recover an evicted BO */
> if (shadow->tbo.mem.mem_type != TTM_PL_TT ||
> + shadow->tbo.mem.start == AMDGPU_BO_INVALID_OFFSET ||
> shadow->parent->tbo.mem.mem_type != TTM_PL_VRAM)
> continue;
>
More information about the amd-gfx
mailing list