[dpdk-dev] net/bonding: fix check slaves link properties
Checks
Commit Message
Result of slaves link properties validation is not used when new slave
is added.
This patch uses the value of link_properties_valid() to determinate if
slave can be used in the bonding. If function fails, error is returned
preventing to add slave with invalid link properties.
Coverity issue: 158661
Fixes: deba8a2f8b0b ("net/bonding: fix link properties management")
Cc: declan.doherty@intel.com
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
---
drivers/net/bonding/rte_eth_bond_api.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
Comments
On 10/20/2017 8:49 AM, Tomasz Kulasek wrote:
> Result of slaves link properties validation is not used when new slave
> is added.
>
> This patch uses the value of link_properties_valid() to determinate if
> slave can be used in the bonding. If function fails, error is returned
> preventing to add slave with invalid link properties.
>
> Coverity issue: 158661
> Fixes: deba8a2f8b0b ("net/bonding: fix link properties management")
Cc: stable@dpdk.org
> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
On 10/25/2017 3:01 PM, Ferruh Yigit wrote:
> On 10/20/2017 8:49 AM, Tomasz Kulasek wrote:
>> Result of slaves link properties validation is not used when new slave
>> is added.
>>
>> This patch uses the value of link_properties_valid() to determinate if
>> slave can be used in the bonding. If function fails, error is returned
>> preventing to add slave with invalid link properties.
>>
>> Coverity issue: 158661
>> Fixes: deba8a2f8b0b ("net/bonding: fix link properties management")
> Cc: stable@dpdk.org
>
>> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Applied to dpdk-next-net/master, thanks.
@@ -302,8 +302,13 @@
internals->tx_offload_capa &= dev_info.tx_offload_capa;
internals->flow_type_rss_offloads &= dev_info.flow_type_rss_offloads;
- link_properties_valid(bonded_eth_dev,
- &slave_eth_dev->data->dev_link);
+ if (link_properties_valid(bonded_eth_dev,
+ &slave_eth_dev->data->dev_link) != 0) {
+ RTE_BOND_LOG(ERR, "Invalid link properties for slave %d"
+ " in bonding mode %d", slave_port_id,
+ internals->mode);
+ return -1;
+ }
/* RETA size is GCD of all slaves RETA sizes, so, if all sizes will be
* the power of 2, the lower one is GCD