Re: [PATCH net-next v13 1/8] hinic3: Async Event Queue interfaces

From: Paolo Abeni
Date: Tue Aug 19 2025 - 09:28:26 EST


On 8/15/25 3:01 AM, Fan Gong wrote:
> +static void remove_eq(struct hinic3_eq *eq)
> +{
> + hinic3_set_msix_state(eq->hwdev, eq->msix_entry_idx,
> + HINIC3_MSIX_DISABLE);
> + free_irq(eq->irq_id, eq);
> + /* Indirect access should set q_id first */
> + hinic3_hwif_write_reg(eq->hwdev->hwif,
> + HINIC3_EQ_INDIR_IDX_ADDR(eq->type),
> + eq->q_id);
> +
> + cancel_work_sync(&eq->aeq_work);

The above should be 'disable_work_sync()' to avoid the work being
re-scheduled by the flushed handler and later UaF.

/P