]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
accel/amdxdna: Fix crash when destroying a suspended hardware context
authorLizhi Hou <lizhi.hou@amd.com>
Fri, 6 Feb 2026 06:03:06 +0000 (22:03 -0800)
committerLizhi Hou <lizhi.hou@amd.com>
Mon, 23 Feb 2026 17:24:15 +0000 (09:24 -0800)
If userspace issues an ioctl to destroy a hardware context that has
already been automatically suspended, the driver may crash because the
mailbox channel pointer is NULL for the suspended context.

Fix this by checking the mailbox channel pointer in aie2_destroy_context()
before accessing it.

Fixes: 97f27573837e ("accel/amdxdna: Fix potential NULL pointer dereference in context cleanup")
Reviewed-by: Karol Wachowski <karol.wachowski@linux.intel.com>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://patch.msgid.link/20260206060306.4050531-1-lizhi.hou@amd.com
drivers/accel/amdxdna/aie2_message.c

index 7d7dcfeaf7942dbe606e7901de4334b7dbc463c2..ab1178850c474eac7f99ec591d4eb8e551549f86 100644 (file)
@@ -318,6 +318,9 @@ int aie2_destroy_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwc
        struct amdxdna_dev *xdna = ndev->xdna;
        int ret;
 
+       if (!hwctx->priv->mbox_chann)
+               return 0;
+
        xdna_mailbox_stop_channel(hwctx->priv->mbox_chann);
        ret = aie2_destroy_context_req(ndev, hwctx->fw_ctx_id);
        xdna_mailbox_destroy_channel(hwctx->priv->mbox_chann);