On 2/6/2026 7:03 AM, Lizhi Hou wrote:
> 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")
> Signed-off-by: Lizhi Hou <[email protected]>
> ---
>  drivers/accel/amdxdna/aie2_message.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/accel/amdxdna/aie2_message.c 
> b/drivers/accel/amdxdna/aie2_message.c
> index 7d7dcfeaf794..ab1178850c47 100644
> --- a/drivers/accel/amdxdna/aie2_message.c
> +++ b/drivers/accel/amdxdna/aie2_message.c
> @@ -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);
Reviewed-by: Karol Wachowski <[email protected]>

Reply via email to