net/mlx5: fix leak when starvation occurs
The list of segments to free was wrongly manipulated ending by only freeing
the first segment instead of freeing all of them. The last one still
belongs to the NIC and thus should not be freed.
Fixes: a1bdb71a32
("net/mlx5: fix crash in Rx")
Reported-by: Liming Sun <lsun@mellanox.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
parent
5ebb74a12c
commit
fe5fe3820e
@ -1310,10 +1310,10 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
|
||||
}
|
||||
while (pkt != seg) {
|
||||
assert(pkt != (*rxq->elts)[idx]);
|
||||
seg = NEXT(pkt);
|
||||
rep = NEXT(pkt);
|
||||
rte_mbuf_refcnt_set(pkt, 0);
|
||||
__rte_mbuf_raw_free(pkt);
|
||||
pkt = seg;
|
||||
pkt = rep;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user