Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: NULL-check BO's backing store when determining GFX12 PTE flags

PRT BOs may not have any backing store, so bo->tbo.resource will be
NULL. Check for that before dereferencing.

Fixes: 0cce5f285d9a ("drm/amdkfd: Check correct memory types for is_system variable")
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Natalie Vock <natalie.vock@gmx.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Natalie Vock and committed by
Alex Deucher
3e3fcd29 37c890d8

+3 -2
+3 -2
drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
··· 528 528 529 529 bo_adev = amdgpu_ttm_adev(bo->tbo.bdev); 530 530 coherent = bo->flags & AMDGPU_GEM_CREATE_COHERENT; 531 - is_system = (bo->tbo.resource->mem_type == TTM_PL_TT) || 532 - (bo->tbo.resource->mem_type == AMDGPU_PL_PREEMPT); 531 + is_system = bo->tbo.resource && 532 + (bo->tbo.resource->mem_type == TTM_PL_TT || 533 + bo->tbo.resource->mem_type == AMDGPU_PL_PREEMPT); 533 534 534 535 if (bo && bo->flags & AMDGPU_GEM_CREATE_GFX12_DCC) 535 536 *flags |= AMDGPU_PTE_DCC;