diff mbox series

[V2,2/8] accel/amdxdna: Replace mmput with mmput_async to avoid dead lock

Message ID 20241206220001.164049-3-lizhi.hou@amd.com (mailing list archive)
State New, archived
Headers show
Series AMD NPU driver improvements | expand

Commit Message

Lizhi Hou Dec. 6, 2024, 9:59 p.m. UTC
Hardware mailbox message receiving handler calls mmput to release the
process mm. If the process has already exited, the mmput here may call mmu
notifier handler, amdxdna_hmm_invalidate, which will cause a dead lock.
Using mmput_async instead prevents this dead lock.

Fixes: aac243092b70 ("accel/amdxdna: Add command execution")
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
---
 drivers/accel/amdxdna/aie2_ctx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jeffrey Hugo Dec. 13, 2024, 4:33 p.m. UTC | #1
On 12/6/2024 2:59 PM, Lizhi Hou wrote:
> Hardware mailbox message receiving handler calls mmput to release the
> process mm. If the process has already exited, the mmput here may call mmu
> notifier handler, amdxdna_hmm_invalidate, which will cause a dead lock.
> Using mmput_async instead prevents this dead lock.
> 
> Fixes: aac243092b70 ("accel/amdxdna: Add command execution")
> Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>

Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
diff mbox series

Patch

diff --git a/drivers/accel/amdxdna/aie2_ctx.c b/drivers/accel/amdxdna/aie2_ctx.c
index 90e8d87666a9..b5282555bbf2 100644
--- a/drivers/accel/amdxdna/aie2_ctx.c
+++ b/drivers/accel/amdxdna/aie2_ctx.c
@@ -179,7 +179,7 @@  aie2_sched_notify(struct amdxdna_sched_job *job)
 	up(&job->hwctx->priv->job_sem);
 	job->job_done = true;
 	dma_fence_put(fence);
-	mmput(job->mm);
+	mmput_async(job->mm);
 	aie2_job_put(job);
 }