[dpdk-dev] [PATCH] net/bonding: fix Segfault when eal thread executing nic‘s lsc event for mode 4

Zhaohui (zhaohui, Polestar) zhaohui8 at huawei.com
Wed Mar 6 04:42:30 CET 2019


When the number of slave slave devices exceeds 8, it will cause the array subscript to cross the boundary.

---
drivers/net/bonding/rte_eth_bond_8023ad.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index f6f8b28..b5589c7 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -920,8 +920,8 @@ static void selection_logic (struct bond_dev_private *internals, uint8_t slave_id
       struct port *agg, *port;
       uint16_t slaves_count, new_agg_id, i, j = 0;
       uint16_t *slaves;
-        uint64_t agg_bandwidth[8] = {0};
-        uint64_t agg_count[8] = {0};
+       uint64_t agg_bandwidth[RTE_MAX_ETHPORTS] = {0};
+       uint64_t agg_count[RTE_MAX_ETHPORTS] = {0};
       uint16_t default_slave = 0;
       uint8_t mode_count_id, mode_band_id;
       struct rte_eth_link link_info;
--


More information about the dev mailing list