[dpdk-dev] [PATCH] app/testpmd: fix unchecked return value

Li, Xiaoyun xiaoyun.li at intel.com
Tue Mar 16 06:43:27 CET 2021


Hi

> -----Original Message-----
> From: Kalesh A P <kalesh-anakkur.purayil at broadcom.com>
> Sent: Tuesday, March 16, 2021 12:55
> To: dev at dpdk.org
> Cc: Li, Xiaoyun <xiaoyun.li at intel.com>; Yigit, Ferruh <ferruh.yigit at intel.com>
> Subject: [dpdk-dev] [PATCH] app/testpmd: fix unchecked return value
> 
> From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
> 
> CID 353629 (#1 of 1): Unchecked return value (CHECKED_RETURN)
> check_return: Calling rte_eth_dev_info_get without checking return value (as is
> done elsewhere 110 out of 117 times).

You can just say "This patch checks return value for rte_eth_dev_info_get() in show_macs()."

> 
> Coverity issue: 353629
> 
No need for this breaking line. Please see other examples for Coverity issues.

> Fixes: e1d44d0ad623 ("app/testpmd: show MAC addresses added to a port")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
> ---
>  app/test-pmd/config.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index
> 576d5ac..ade26e0 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -4927,10 +4927,15 @@ show_macs(portid_t port_id)
>  	struct rte_ether_addr *addr;
>  	uint32_t i, num_macs = 0;
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	dev = &rte_eth_devices[port_id];
> 
> -	rte_eth_dev_info_get(port_id, &dev_info);
> +	ret = rte_eth_dev_info_get(port_id, &dev_info);
> +	if (ret != 0) {
> +		printf("rte_eth_dev_info_get() failed for port %u\n", port_id);
> +		return;
> +	}

You can use eth_dev_info_get_print_err(). Testpmd uses this function to unify the err print. And only this place needs check, so you don't need to define "ret".
Just the following is enough:

if (eth_dev_info_get_print_err(port_id, &dev_info))
          return;

BRs
Xiaoyun
> 
>  	for (i = 0; i < dev_info.max_mac_addrs; i++) {
>  		addr = &dev->data->mac_addrs[i];
> --
> 2.10.1



More information about the dev mailing list