On 12/5/25 19:25, Matthew Brost wrote: > On Fri, Dec 05, 2025 at 10:46:34AM -0700, Lin, Shuicheng wrote: >> On Mon, Oct 13, 2025 9:27 AM Matthew Brost wrote: >>> On Tue, Oct 14, 2025 at 01:11:33AM +0900, Simon Richter wrote: >>>> It is possible for a BO to exist that is not currently associated with >>>> a resource, e.g. because it has been evicted. >>>> >>>> When devcoredump tries to read the contents of all BOs for dumping, we >>>> need to expect this as well -- in this case, ENODATA is recorded >>>> instead of the buffer contents. >>>> >>>> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6271 >>> >>> I think we need a fixes / cc stable but I can add that for you when merging. >>> >>> Anyways patch LGTM: >>> Reviewed-by: Matthew Brost <[email protected]> >>> >>>> Signed-off-by: Simon Richter <[email protected]> >> > > Christian - any objection to me pushing this patch drm-misc-next or > would it be drm-misc-fixes? I forget the flow here.
Good catch! I somehow totally missed that patch. Reviewed-by: Christian König <[email protected]> And with the CC stable tag that should go to drm-misc-fixes. Regards, Christian. > > Matt > >> It seems this patch is not merged yet. >> >> LGTM. >> Reviewed-by: Shuicheng Lin <[email protected]> >> >>>> --- >>>> drivers/gpu/drm/ttm/ttm_bo_vm.c | 7 +++++++ >>>> 1 file changed, 7 insertions(+) >>>> >>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c >>>> b/drivers/gpu/drm/ttm/ttm_bo_vm.c index b47020fca199..a101ff95b234 >>>> 100644 >>>> --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c >>>> +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c >>>> @@ -434,6 +434,11 @@ int ttm_bo_access(struct ttm_buffer_object *bo, >>> unsigned long offset, >>>> if (ret) >>>> return ret; >>>> >>>> + if (!bo->resource) { >>>> + ret = -ENODATA; >>>> + goto unlock; >>>> + } >>>> + >>>> switch (bo->resource->mem_type) { >>>> case TTM_PL_SYSTEM: >>>> fallthrough; >>>> @@ -448,6 +453,7 @@ int ttm_bo_access(struct ttm_buffer_object *bo, >>> unsigned long offset, >>>> ret = -EIO; >>>> } >>>> >>>> +unlock: >>>> ttm_bo_unreserve(bo); >>>> >>>> return ret; >>>> -- >>>> 2.47.3 >>>>
