From patchwork Wed Mar 20 13:11:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Zhaohui (zhaohui, Polestar)" X-Patchwork-Id: 51394 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9ED685F0D; Wed, 20 Mar 2019 14:26:36 +0100 (CET) Received: from huawei.com (szxga01-in.huawei.com [45.249.212.187]) by dpdk.org (Postfix) with ESMTP id A70585B16; Wed, 20 Mar 2019 14:11:23 +0100 (CET) Received: from DGGEML402-HUB.china.huawei.com (unknown [172.30.72.54]) by Forcepoint Email with ESMTP id 58CE7A158FB529A2EA63; Wed, 20 Mar 2019 21:11:20 +0800 (CST) Received: from DGGEML529-MBX.china.huawei.com ([169.254.6.70]) by DGGEML402-HUB.china.huawei.com ([fe80::fca6:7568:4ee3:c776%31]) with mapi id 14.03.0415.000; Wed, 20 Mar 2019 21:11:11 +0800 From: "Zhaohui (zhaohui, Polestar)" To: "dev@dpdk.org" , Chas Williams <3chas3@gmail.com>, "Ferruh Yigit" CC: chenchanghu , "stable@dpdk.org" , wangyunjian Thread-Topic: =?gb2312?b?W2RwZGstZGV2XSBbUEFUQ0hdIG5ldC9ib25kaW5nOiBmaXgg?= =?gb2312?b?U2VnZmF1bHQgd2hlbiBlYWwgdGhyZWFkIGV4ZWN1dGluZyBuaWM=?= =?gb2312?b?oa5zIGxzYyBldmVudCBmb3IgbW9kZSA0?= Thread-Index: AdTfF7pcdYdJTtR7SJmdzxb2JwZX9Q== Date: Wed, 20 Mar 2019 13:11:11 +0000 Message-ID: Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.62.33.217] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mailman-Approved-At: Wed, 20 Mar 2019 14:26:35 +0100 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] =?gb2312?b?IFtQQVRDSF0gbmV0L2JvbmRpbmc6IGZpeCBTZWdm?= =?gb2312?b?YXVsdCB3aGVuIGVhbCB0aHJlYWQgZXhlY3V0aW5nIG5pY6GucyBs?= =?gb2312?b?c2MgZXZlbnQgZm9yIG1vZGUgNA==?= X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi: When the number of slave slave devices exceeds 8, it will cause the array subscript to cross the boundary. According to the suggestions, Modified array subscript to RTE_MAX_ETHPORTS, and Changed uint8_t to uint16_t. Something like this: From 51a081ea88cca1599d458d8d1c7d9605a6eb3352 Mon Sep 17 00:00:00 2001 From: zhaohui8 Date: Wed, 20 Mar 2019 20:17:27 +0800 Subject: [PATCH] net/bonding: fix Segfault when eal thread executing nic‘s lsc event for mode 4 Change-Id: I6d800a3adf5ca51f295b607de879bcb0ccc20004 --- drivers/net/bonding/rte_eth_bond_8023ad.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) * @param port_pos Port to assign. */ static void -selection_logic(struct bond_dev_private *internals, uint8_t slave_id) +selection_logic(struct bond_dev_private *internals, uint16_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; + uint16_t mode_count_id, mode_band_id; struct rte_eth_link link_info; slaves = internals->active_slaves; @@ -806,7 +806,7 @@ struct ether_addr slave_addr; struct rte_mbuf *lacp_pkt = NULL; - uint8_t i, slave_id; + uint16_t i, slave_id; /* Update link status on each port */ -- 1.9.5.msysgit.0 diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c index dd847c6..4d99239 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c @@ -638,7 +638,7 @@ SM_FLAG_CLR(port, NTT); } -static uint8_t +static uint16_t max_index(uint64_t *a, int n) { if (n <= 0) @@ -664,15 +664,15 @@