Bug ID 1778
Summary MPRQ buffer reference was not decremented upon MLX5_RXQ_CODE_NOMBUF
Product DPDK
Version 22.11
Hardware x86
OS Linux
Status UNCONFIRMED
Severity major
Priority Normal
Component ethdev
Assignee dev@dpdk.org
Reporter canary.overflow@gmail.com
Target Milestone ---

drivers/net/mlx5/mlx5_rx.h mprq_buf_to_pkt(...):

In the external buffer attach case where hdrm_overlap > 0, the code did not
decrement the buffer refcnt if allocation struct rte_mbuf *next =
rte_pktmbuf_alloc(rxq->mp) fails

mprq_buf_to_pkt(...) {
    ...        
    if (hdrm_overlap > 0) {
        __atomic_add_fetch(&buf->refcnt, 1, __ATOMIC_RELAXED);
        ...
        MLX5_ASSERT(rxq->strd_scatter_en);
        struct rte_mbuf *seg = rte_pktmbuf_alloc(rxq->mp);
        if (unlikely(seg == NULL))
            return MLX5_RXQ_CODE_NOMBUF;
        SET_DATA_OFF(seg, 0);
        ...
    }
}
          


You are receiving this mail because: