[dpdk-dev] [PATCH] net/bonding: fix segfault when creating bonded device

Radu Nicolau radu.nicolau at intel.com
Wed Oct 31 16:34:45 CET 2018



On 10/31/2018 3:06 PM, Thomas Monjalon wrote:
> 31/10/2018 14:59, Radu Nicolau:
>> After the patch below the call to rte_eth_bond_8023ad_agg_selection_set
>> from probe() segfaults; there is no need to call the function, just set
>> the mode directly.
>>
>> Fixes: 391797f04208 ("drivers/bus: move driver assignment to end of probing")
> It would not segfault if you call rte_eth_dev_probing_finish() at the
> real end of the probing function. Then the port will be considered not
> valid in rte_eth_bond_8023ad_agg_selection_set().
But we need to set the mode, the call to 
rte_eth_bond_8023ad_agg_selection_set() assumed before that it will 
actually succeed, which is not the case anymore.
I will look at reverting that patch/fix, it is likely not needed anymore 
anyway if this patch is applied.
> It does not solve your problem but it is more correct.
> So I suggest to revert this patch (which was a wrong fix):
> 	http://git.dpdk.org/dpdk/commit/?id=1620175
>
> Then the issue is to allow configuring a port before the end of probing.
> This patch is workarounding the public API which checks port validity.
> I think it is a good approach.
>
In probe() we need to set the mode, and we know that the port is a valid 
bonding port, so there is no need to check. Any other call bar the ones 
in probe remain the same.


More information about the dev mailing list