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 <tomaszx.kulasek@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
{
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;