[dpdk-dev] [PATCH v6] ethdev: add sanity checks in control APIs

Min Hu (Connor) humin29 at huawei.com
Fri Apr 16 13:00:54 CEST 2021


Hi, Kevin and all
	fixed in v7, thanks.

在 2021/4/16 18:22, Kevin Traynor 写道:
> On 16/04/2021 07:52, Min Hu (Connor) wrote:
>> This patch adds more sanity checks in control path APIs.
>>
>> Fixes: 214ed1acd125 ("ethdev: add iterator to match devargs input")
>> Fixes: 3d98f921fbe9 ("ethdev: unify prefix for static functions and variables")
>> Fixes: 0366137722a0 ("ethdev: check for invalid device name")
>> Fixes: d948f596fee2 ("ethdev: fix port data mismatched in multiple process model")
>> Fixes: 5b7ba31148a8 ("ethdev: add port ownership")
>> Fixes: f8244c6399d9 ("ethdev: increase port id range")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
>> Reviewed-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> 
> <snip>
> 
>> @@ -1298,9 +1342,15 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
>>   	uint16_t old_mtu;
>>   
>>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>> -
>>   	dev = &rte_eth_devices[port_id];
>>   
>> +	if (dev_conf == NULL) {
>> +		RTE_ETHDEV_LOG(ERR,
>> +			"Cannot configure ethdev port %u to NULL dev_conf\n",
> 
> The others use a natural sounding names instead of argument name. If you
> wanted to match that it could be "..to NULL conf"
> 
>> +			port_id);
>> +		return -EINVAL;
>> +	}
>> +
>>   	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_configure, -ENOTSUP);
>>   
>>   	if (dev->data->dev_started) {
> 
> <snip>
> 
>> @@ -2609,6 +2680,13 @@ rte_eth_link_get(uint16_t port_id, struct rte_eth_link *eth_link)
>>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>>   	dev = &rte_eth_devices[port_id];
>>   
>> +	if (eth_link == NULL) {
>> +		RTE_ETHDEV_LOG(ERR,
>> +			"Cannot get ethdev port %u link for NULL eth_link\n",
> 
> ^^^
> 
>> +			port_id);
>> +		return -EINVAL;
>> +	}
>> +
>>   	if (dev->data->dev_conf.intr_conf.lsc &&
>>   	    dev->data->dev_started)
>>   		rte_eth_linkstatus_get(dev, eth_link);
>> @@ -2629,6 +2707,13 @@ rte_eth_link_get_nowait(uint16_t port_id, struct rte_eth_link *eth_link)
>>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>>   	dev = &rte_eth_devices[port_id];
>>   
>> +	if (eth_link == NULL) {
>> +		RTE_ETHDEV_LOG(ERR,
>> +			"Cannot get nowait ethdev port %u for NULL link\n",
> 
> ^^^
> I would probably stick with "link" for both these functions, rather than
>   argument name "eth_link" in one "link" in other.
> 
>> +			port_id);
>> +		return -EINVAL;
>> +	}
>> +
>>   	if (dev->data->dev_conf.intr_conf.lsc &&
>>   	    dev->data->dev_started)
>>   		rte_eth_linkstatus_get(dev, eth_link);
> 
> Thanks Connor. There are only minor nits, so
> Acked-by: Kevin Traynor <ktraynor at redhat.com>
> 
> .
> 


More information about the dev mailing list