From mboxrd@z Thu Jan 1 00:00:00 1970 From: Declan Doherty Subject: Re: [PATCH] bonding: fix segfault when primary slave set Date: Wed, 26 Jul 2017 18:06:56 +0100 Message-ID: <31a717db-a089-7567-bb5b-49f6693cf343@intel.com> References: <20170726155048.10648-1-tomaszx.kulasek@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit To: Tomasz Kulasek , dev@dpdk.org Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 365867D36 for ; Wed, 26 Jul 2017 19:06:58 +0200 (CEST) In-Reply-To: <20170726155048.10648-1-tomaszx.kulasek@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 26/07/2017 4:50 PM, Tomasz Kulasek wrote: > rte_eth_bond_primary_set segfaults for invalid port. This patch moves > devices check before use of internal data. > > Fixes: 4c42498d916d ("net/bonding: allow slaves to also be bonded devices") > > Signed-off-by: Tomasz Kulasek > --- > drivers/net/bonding/rte_eth_bond_api.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c > index 824ab4f..de1d9e0 100644 > --- a/drivers/net/bonding/rte_eth_bond_api.c > +++ b/drivers/net/bonding/rte_eth_bond_api.c > @@ -514,15 +514,14 @@ > { > struct bond_dev_private *internals; > > - internals = rte_eth_devices[bonded_port_id].data->dev_private; > - > if (valid_bonded_port_id(bonded_port_id) != 0) > return -1; > > + internals = rte_eth_devices[bonded_port_id].data->dev_private; > + > if (valid_slave_port_id(slave_port_id, internals->mode) != 0) > return -1; > > - > internals->user_defined_primary_port = 1; > internals->primary_port = slave_port_id; > > Acked-by: Declan Doherty