[dpdk-dev,v2] net/i40e: fix a bug in function i40evf_add_del_all_mac_addr

Message ID 1490689167-8660-1-git-send-email-caihe@huawei.com (mailing list archive)
State Changes Requested, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

caihe March 28, 2017, 8:19 a.m. UTC
  check return value of rte_zmalloc

Signed-off-by: henry <caihe@huawei.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Zhang, Helin March 28, 2017, 8:44 a.m. UTC | #1
> -----Original Message-----
> From: henry [mailto:caihe@huawei.com]
> Sent: Tuesday, March 28, 2017 4:19 PM
> To: Zhang, Helin
> Cc: dev@dpdk.org; Wu, Jingjing; wangyunjian@huawei.com;
> zhoujingbin@huawei.com; henry
> Subject: [dpdk-dev] [PATCH v2] net/i40e: fix a bug in function
> i40evf_add_del_all_mac_addr
Suggested with new title as below.
"net/i40e: fix return value check issue"
> 
> check return value of rte_zmalloc

Please add one more fix line here, as community required.
Fixes: 97ac72aa71a9 ("i40e: support setting VF MAC address ")

> 
> Signed-off-by: henry <caihe@huawei.com>
If possible, please use your full name here. E.g. 'Henry He' or else. Thanks!

> ---
>  drivers/net/i40e/i40e_ethdev_vf.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index 55fd344..fdb5be6 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -2014,6 +2014,12 @@ static int i40evf_dev_xstats_get(struct rte_eth_dev
> *dev,
>  		}
> 
>  		list = rte_zmalloc("i40evf_del_mac_buffer", len, 0);
> +		if (!list) {
> +			PMD_DRV_LOG(ERR, "abort execute command %s",
> +				    add ? "OP_ADD_ETHER_ADDRESS" :
> +				    "OP_DEL_ETHER_ADDRESS");
> +			return;
> +		}
Suggest to describe what fails directly, as below.

PMD_DRV_LOG(ERR, "Fail to allocate memory");
> 
>  		for (i = begin; i < next_begin; i++) {
>  			addr = &dev->data->mac_addrs[i];
> --
> 1.8.3.1
>
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 55fd344..fdb5be6 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -2014,6 +2014,12 @@  static int i40evf_dev_xstats_get(struct rte_eth_dev *dev,
 		}
 
 		list = rte_zmalloc("i40evf_del_mac_buffer", len, 0);
+		if (!list) {
+			PMD_DRV_LOG(ERR, "abort execute command %s",
+				    add ? "OP_ADD_ETHER_ADDRESS" :
+				    "OP_DEL_ETHER_ADDRESS");
+			return;
+		}
 
 		for (i = begin; i < next_begin; i++) {
 			addr = &dev->data->mac_addrs[i];