DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/iavf: fix rte flow error log issue
@ 2020-05-08 20:58 Jeff Guo
  2020-05-09  6:21 ` Zhang, Qi Z
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Guo @ 2020-05-08 20:58 UTC (permalink / raw)
  To: beilei.xing, xiaolong.ye, qiming.yang, jingjing.wu
  Cc: qi.z.zhang, dev, wenzhuo.lu, jia.guo

When processing a rte flow, such as creating a parse engine, or
creating or destroying a rss rule, if they are failed, they all
need to construct the flow error structure before return the error
message back to app. If not so, it will cause app crash when
app printing the message out of a flow error.

Fixes: 7be10c3004be ("net/iavf: add RSS configuration for VF")
Fixes: ff2d0c345c3b ("net/iavf: support generic flow API")
Signed-off-by: Jeff Guo <jia.guo@intel.com>
---
 drivers/net/iavf/iavf_generic_flow.c | 10 +++++++---
 drivers/net/iavf/iavf_hash.c         | 12 ++++++++++--
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/drivers/net/iavf/iavf_generic_flow.c b/drivers/net/iavf/iavf_generic_flow.c
index bca1ffeb3..64695f246 100644
--- a/drivers/net/iavf/iavf_generic_flow.c
+++ b/drivers/net/iavf/iavf_generic_flow.c
@@ -868,14 +868,18 @@ iavf_flow_process_filter(struct rte_eth_dev *dev,
 
 	*engine = iavf_parse_engine(ad, flow, &vf->rss_parser_list, pattern,
 				    actions, error);
-	if (*engine != NULL)
+	if (*engine)
 		return 0;
 
 	*engine = iavf_parse_engine(ad, flow, &vf->dist_parser_list, pattern,
 				    actions, error);
 
-	if (*engine == NULL)
-		return -EINVAL;
+	if (!*engine) {
+		rte_flow_error_set(error, EINVAL,
+				   RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
+				   "Failed to create parser engine.");
+		return -rte_errno;
+	}
 
 	return 0;
 }
diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index 97370aa19..8263a663b 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -1111,7 +1111,11 @@ iavf_hash_create(__rte_unused struct iavf_adapter *ad,
 		flow->rule = rss_cfg;
 	} else {
 		PMD_DRV_LOG(ERR, "fail to add RSS configure");
+		rte_flow_error_set(error, -ret,
+				   RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
+				   "Failed to add rss rule.");
 		rte_free(rss_cfg);
+		return -rte_errno;
 	}
 
 	rte_free(meta);
@@ -1130,9 +1134,13 @@ iavf_hash_destroy(__rte_unused struct iavf_adapter *ad,
 	rss_cfg = (struct virtchnl_rss_cfg *)flow->rule;
 
 	ret = iavf_add_del_rss_cfg(ad, rss_cfg, false);
-	if (ret)
+	if (ret) {
 		PMD_DRV_LOG(ERR, "fail to del RSS configure");
-
+		rte_flow_error_set(error, -ret,
+				   RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
+				   "Failed to delete rss rule.");
+		return -rte_errno;
+	}
 	return ret;
 }
 
-- 
2.20.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] net/iavf: fix rte flow error log issue
  2020-05-08 20:58 [dpdk-dev] [PATCH] net/iavf: fix rte flow error log issue Jeff Guo
@ 2020-05-09  6:21 ` Zhang, Qi Z
  2020-05-11  2:53   ` Ye Xiaolong
  0 siblings, 1 reply; 3+ messages in thread
From: Zhang, Qi Z @ 2020-05-09  6:21 UTC (permalink / raw)
  To: Guo, Jia, Xing, Beilei, Ye, Xiaolong, Yang, Qiming, Wu, Jingjing
  Cc: dev, Lu, Wenzhuo



> -----Original Message-----
> From: Guo, Jia <jia.guo@intel.com>
> Sent: Saturday, May 9, 2020 4:59 AM
> To: Xing, Beilei <beilei.xing@intel.com>; Ye, Xiaolong
> <xiaolong.ye@intel.com>; Yang, Qiming <qiming.yang@intel.com>; Wu,
> Jingjing <jingjing.wu@intel.com>
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; dev@dpdk.org; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; Guo, Jia <jia.guo@intel.com>
> Subject: [PATCH] net/iavf: fix rte flow error log issue
> 
> When processing a rte flow, such as creating a parse engine, or creating or
> destroying a rss rule, if they are failed, they all need to construct the flow
> error structure before return the error message back to app. If not so, it will
> cause app crash when app printing the message out of a flow error.
> 
> Fixes: 7be10c3004be ("net/iavf: add RSS configuration for VF")
> Fixes: ff2d0c345c3b ("net/iavf: support generic flow API")
> Signed-off-by: Jeff Guo <jia.guo@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] net/iavf: fix rte flow error log issue
  2020-05-09  6:21 ` Zhang, Qi Z
@ 2020-05-11  2:53   ` Ye Xiaolong
  0 siblings, 0 replies; 3+ messages in thread
From: Ye Xiaolong @ 2020-05-11  2:53 UTC (permalink / raw)
  To: Zhang, Qi Z
  Cc: Guo, Jia, Xing, Beilei, Yang, Qiming, Wu, Jingjing, dev, Lu, Wenzhuo

On 05/09, Zhang, Qi Z wrote:
>
>
>> -----Original Message-----
>> From: Guo, Jia <jia.guo@intel.com>
>> Sent: Saturday, May 9, 2020 4:59 AM
>> To: Xing, Beilei <beilei.xing@intel.com>; Ye, Xiaolong
>> <xiaolong.ye@intel.com>; Yang, Qiming <qiming.yang@intel.com>; Wu,
>> Jingjing <jingjing.wu@intel.com>
>> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; dev@dpdk.org; Lu, Wenzhuo
>> <wenzhuo.lu@intel.com>; Guo, Jia <jia.guo@intel.com>
>> Subject: [PATCH] net/iavf: fix rte flow error log issue
>> 
>> When processing a rte flow, such as creating a parse engine, or creating or
>> destroying a rss rule, if they are failed, they all need to construct the flow
>> error structure before return the error message back to app. If not so, it will
>> cause app crash when app printing the message out of a flow error.
>> 
>> Fixes: 7be10c3004be ("net/iavf: add RSS configuration for VF")
>> Fixes: ff2d0c345c3b ("net/iavf: support generic flow API")
>> Signed-off-by: Jeff Guo <jia.guo@intel.com>
>
>Acked-by: Qi Zhang <qi.z.zhang@intel.com>
>

Applied to dpdk-next-net-intel, Thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-05-11  3:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-08 20:58 [dpdk-dev] [PATCH] net/iavf: fix rte flow error log issue Jeff Guo
2020-05-09  6:21 ` Zhang, Qi Z
2020-05-11  2:53   ` Ye Xiaolong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).