On Wed, 25 Mar 2026 11:38:36 -0700
Long Li <[email protected]> wrote:

> On error CQEs (e.g. SA_DROP), the hardware generates one CQE per WQE
> regardless of the suppression flag. The previous code honored the
> suppress_tx_cqe flag unconditionally, which caused it to skip reading
> error CQEs and misalign the CQ consumer index.
> 
> This misalignment causes subsequent completions to be misinterpreted:
> valid CQEs are read at wrong offsets, leading to spurious error
> counts, NULL packet frees, and potential use-after-free of mbufs
> that were already completed.
> 
> Check the CQE type before honoring suppression: only skip CQE reading
> when the completion is CQE_TX_OKAY.
> 
> Fixes: cce2c9df44 ("net/mana: suppress Tx CQE generation whenever possible")
> Cc: [email protected]
> 
> Signed-off-by: Long Li <[email protected]>

Applied but needed to use longer SHA for Fixes to meet current guidelines.

Fixes: cce2c9df4481 ("net/mana: suppress Tx CQE generation whenever possible")

Reply via email to