[AMD Official Use Only - AMD Internal Distribution Only] this patch is good for me, and Reviewed-by "[email protected]"
> -----Original Message----- > From: SHANMUGAM, SRINIVASAN <[email protected]> > Sent: Tuesday, November 18, 2025 5:04 PM > To: Koenig, Christian <[email protected]>; Deucher, Alexander > <[email protected]> > Cc: [email protected]; SHANMUGAM, SRINIVASAN > <[email protected]>; Zhang, Jesse(Jie) > <[email protected]> > Subject: [PATCH v2] drm/amdgpu/ttm: Fix crash when handling MMIO_REMAP in > PDE flags > > The MMIO_REMAP BO is a special 4K IO page that does not have a ttm_tt behind > it. However, amdgpu_ttm_tt_pde_flags() was treating it like normal > TT/doorbell/preempt memory and unconditionally accessed > ttm->caching. For the MMIO_REMAP BO, ttm is NULL, so this leads to a > NULL pointer dereference when computing PDE flags. > > Fix this by checking that ttm is non-NULL before reading ttm->caching. > This prevents the crash for MMIO_REMAP and also makes the code more > defensive if other BOs ever come through without a ttm_tt. > > Fixes: d716b3a2df1b ("drm/amdgpu: Implement TTM handling for MMIO_REMAP > placement") > Suggested-by: Jesse Zhang <[email protected]> > Suggested-by: Christian König <[email protected]> > Cc: Alex Deucher <[email protected]> > Signed-off-by: Srinivasan Shanmugam <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > index 84f9d5a57d03..04a79ef05f90 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > @@ -1328,7 +1328,7 @@ uint64_t amdgpu_ttm_tt_pde_flags(struct ttm_tt *ttm, > struct ttm_resource *mem) > mem->mem_type == AMDGPU_PL_MMIO_REMAP)) { > flags |= AMDGPU_PTE_SYSTEM; > > - if (ttm->caching == ttm_cached) > + if (ttm && ttm->caching == ttm_cached) > flags |= AMDGPU_PTE_SNOOPED; > } > > -- > 2.34.1
