From 163fbaafa29f0f5f968162700061f1009321625c Mon Sep 17 00:00:00 2001 From: Ferruh Yigit Date: Fri, 14 Jun 2019 18:19:39 +0100 Subject: [PATCH] app/testpmd: fix crash Testpmd tries to calculate mbuf size based on "max Rx packet size" and "max MTU segment number". When driver set a "nb_mtu_seg_max" to zero, it causes division by zero segmentation fault in testpmd. If the PMD set "nb_mtu_seg_max" to zero, testpmd shouldn't try to calculate the mbuf size. Fixes: 33f9630fc23d ("app/testpmd: create mbuf based on max supported segments") Signed-off-by: Ferruh Yigit --- app/test-pmd/testpmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 0f2fffec3b..4e958bc441 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1174,7 +1174,8 @@ init_config(void) /* Check for maximum number of segments per MTU. Accordingly * update the mbuf data size. */ - if (port->dev_info.rx_desc_lim.nb_mtu_seg_max != UINT16_MAX) { + if (port->dev_info.rx_desc_lim.nb_mtu_seg_max != UINT16_MAX && + port->dev_info.rx_desc_lim.nb_mtu_seg_max != 0) { data_size = rx_mode.max_rx_pkt_len / port->dev_info.rx_desc_lim.nb_mtu_seg_max; -- 2.20.1