On Tue, Oct 6, 2026 at 3:51 AM Dariusz Marcinkiewicz <[email protected]> wrote: > > amdgpu_dma_buf_move_notify() touches the page tables without first > calling amdgpu_vm_ready(). When a process is SIGKILLed, its VM entities > are stopped. Teardown of an imported dma-buf then tries to clear PTEs by > submitting to one of those stopped entities. That eventually hangs the > task. > > Commit aa5fc4362fac ("drm/amdgpu: fix task hang from failed job > submission during process kill") added the stopped entity check in > amdgpu_vm_ready() and used it in amdgpu_cs_vm_handling(). That did not > cover a call in amdgpu_dma_buf_move_notify(), what was already mentioned > in: > https://lists.freedesktop.org/archives/amd-gfx/2025-October/133076.html > > Tested by SIGKILLing a GPU workload holding imported dma-bufs. Without > the patch "Trying to push to a killed entity" errors are logged, then a > task hangs. With the patch there are no hung tasks. This was tested on a > 6.18 kernel. > > Signed-off-by: Dariusz Marcinkiewicz <[email protected]> > Assisted-by: LLM
Reviewed-by: Alex Deucher <[email protected]> Looks good to me. Applied! Thanks, Alex > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c > index 9c80eef79e32..ee473a888331 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c > @@ -481,6 +481,11 @@ amdgpu_dma_buf_move_notify(struct dma_buf_attachment > *attach) > continue; > } > > + if (!amdgpu_vm_ready(vm)) { > + dma_resv_unlock(resv); > + continue; > + } > + > /* Reserve fences for two SDMA page table updates */ > r = dma_resv_reserve_fences(resv, 2); > if (!r) > -- > 2.55.0.1082.g2b9226bbc0-goog >
