When tx_free_thresh + tx_rs_thresh > nb_desc, it is possible
that an outdated DD status be checked as tx_next_dd, then segment fault
happen due to free a NULL mbuf pointer.

The issue usually happens with an aggresive tx_free_thresh, for example:

./testpmd -c 0x3 -n 4 -- -i --rxq=16 --txq=16 --rxd=1024 --txd=1024 
--txfreet=1020

The patchset fix this issue on i40e, ixgbe and ice.

Qi Zhang (3):
  net/i40e: fix invalid Tx threshold setup
  net/ice: fix invalid Tx threshold setup
  net/ixgbe: fix invalid Tx threshold setup

 drivers/net/i40e/i40e_rxtx.c   | 19 +++++++++++++++++--
 drivers/net/ice/ice_rxtx.c     | 21 ++++++++++++++++++---
 drivers/net/ixgbe/ixgbe_rxtx.c | 19 +++++++++++++++++--
 3 files changed, 52 insertions(+), 7 deletions(-)

-- 
2.13.6

Reply via email to