Re: [PATCH V1] accel/amdxdna: Guard management mailbox channel cleanup against NULL pointer

From: Lizhi Hou

Date: Fri Apr 17 2026 - 12:19:20 EST


Applied to drm-misc-next

On 4/16/26 15:46, Mario Limonciello wrote:


On 4/16/26 15:11, Lizhi Hou wrote:
From: Max Zhen <max.zhen@xxxxxxx>

The management mailbox channel cleanup helpers can be called from
error handling paths when mgmt_chann has already been destroyed.

Add NULL checks to xdna_mailbox_free_channel() and
xdna_mailbox_stop_channel() so the cleanup path safely returns instead
of dereferencing a NULL mailbox channel pointer.

Fixes: b87f920b9344 ("accel/amdxdna: Support hardware mailbox")
Signed-off-by: Max Zhen <max.zhen@xxxxxxx>
Signed-off-by: Lizhi Hou <lizhi.hou@xxxxxxx>
---
Reviewed-by: Mario Limonciello (AMD) <superm1@xxxxxxxxxx>
  drivers/accel/amdxdna/amdxdna_mailbox.c | 6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/drivers/accel/amdxdna/amdxdna_mailbox.c b/drivers/accel/amdxdna/amdxdna_mailbox.c
index 336e5e77f18a..37771bdb24a1 100644
--- a/drivers/accel/amdxdna/amdxdna_mailbox.c
+++ b/drivers/accel/amdxdna/amdxdna_mailbox.c
@@ -496,6 +496,9 @@ struct mailbox_channel *xdna_mailbox_alloc_channel(struct mailbox *mb)
    void xdna_mailbox_free_channel(struct mailbox_channel *mb_chann)
  {
+    if (!mb_chann)
+        return;
+
      destroy_workqueue(mb_chann->work_q);
      kfree(mb_chann);
  }
@@ -542,6 +545,9 @@ void xdna_mailbox_stop_channel(struct mailbox_channel *mb_chann)
      struct mailbox_msg *mb_msg;
      unsigned long msg_id;
  +    if (!mb_chann)
+        return;
+
      /* Disable an irq and wait. This might sleep. */
      free_irq(mb_chann->msix_irq, mb_chann);