[dpdk-dev] [PATCH 2/3] net/bonding: fix not checked return value
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Tue Jul 13 11:26:40 CEST 2021
On 7/9/21 3:09 AM, Min Hu (Connor) wrote:
>
>
> 在 2021/7/8 21:20, Havlík Martin 写道:
>> Dne 2021-07-08 14:43, Min Hu (Connor) napsal:
>>> 在 2021/6/22 17:25, Martin Havlik 写道:
>>>> Return value from bond_ethdev_8023ad_flow_set() is now checked
>>>> and appropriate message is logged on error.
>>>>
>>>> Fixes: 112891cd27e5 ("net/bonding: add dedicated HW queues for LACP
>>>> control")
>>>> Cc: tomaszx.kulasek at intel.com
>>>>
>>>> Signed-off-by: Martin Havlik <xhavli56 at stud.fit.vutbr.cz>
>>>> Cc: Jan Viktorin <viktorin at cesnet.cz>
>>>> ---
>>>> drivers/net/bonding/rte_eth_bond_pmd.c | 8 +++++++-
>>>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c
>>>> b/drivers/net/bonding/rte_eth_bond_pmd.c
>>>> index 4c43bf916..a6755661c 100644
>>>> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
>>>> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
>>>> @@ -1819,8 +1819,14 @@ slave_configure(struct rte_eth_dev
>>>> *bonded_eth_dev,
>>>>
>>>> internals->mode4.dedicated_queues.flow[slave_eth_dev->data->port_id],
>>>> &flow_error);
>>>> - bond_ethdev_8023ad_flow_set(bonded_eth_dev,
>>>> + errval = bond_ethdev_8023ad_flow_set(bonded_eth_dev,
>>>> slave_eth_dev->data->port_id);
>>>> + if (errval != 0) {
>>>> + RTE_BOND_LOG(ERR,
>>>> + "bond_ethdev_8023ad_flow_set: port=%d, err (%d)",
>>>> + slave_eth_dev->data->port_id, errval);
>>>> + return errval;
>>>> + }
>>>> }
>>>>
>>> Firstly, I think your patch is OK,
>>> But I want to know what is your standard to decide which function
>>> should check return value or not(of course, they are none-void)?
>>>
>> I encountered the problem with dedicated queues on mlx5, I looked into
>> the source code and I saw the cause, so I fixed it. If I had seen any
>> other issue, I would've fixed it too. That, for example, applies to
>> the log message fix I included. My standard is to check all non-void
>> return values.
> Got it.
>>> While, I noticed "bond_ethdev_lsc_event_callback" nearby was not
>>> checked, but you ignored it.
>>>
>> Not ignored, just didn't properly review more code than what closely
>> surrounded the problematic lines.
>>>> /* Start device */
>>>>
> Acked by: Min Hu (Connor) <humin29 at huawei.com>
>> .
Acked-by: Min Hu (Connor) <humin29 at huawei.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
Applied, thanks.
More information about the dev
mailing list