[dpdk-dev] [PATCH v3] net/i40e: fix VF reset stats crash
David C Harton
dharton at cisco.com
Thu Jan 11 16:13:58 CET 2018
Calling i40evf_dev_xstats_reset can sometimes crash.
Fixed issue by checking return code before using pstats.
Fixes: 8210e9e0d805e ("net/i40e: fix clear xstats bug in VF")
Cc: wei.zhao1 at intel.com
Signed-off-by: David C Harton <dharton at cisco.com>
---
v2:
* Fixed fixes line in commit message.
v3:
* Modified conditional to check ret code instead of pointer.
drivers/net/i40e/i40e_ethdev_vf.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index b96d77a..d5a9edb 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -916,14 +916,16 @@ i40evf_update_stats(struct i40e_vsi *vsi,
static void
i40evf_dev_xstats_reset(struct rte_eth_dev *dev)
{
+ int ret;
struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
struct i40e_eth_stats *pstats = NULL;
/* read stat values to clear hardware registers */
- i40evf_query_stats(dev, &pstats);
+ ret = i40evf_query_stats(dev, &pstats);
/* set stats offset base on current values */
- vf->vsi.eth_stats_offset = *pstats;
+ if (ret == 0)
+ vf->vsi.eth_stats_offset = *pstats;
}
static int i40evf_dev_xstats_get_names(__rte_unused struct rte_eth_dev *dev,
--
2.10.3.dirty
More information about the dev
mailing list