[dpdk-dev] [PATCH] net/ice: fix deadlock in ice_flow_query()

Subsystems: networking drivers, the rest

2 messages, 2 authors, 2021-08-29 · open the first message on its own page

[dpdk-dev] [PATCH] net/ice: fix deadlock in ice_flow_query()

From: Yu Wenjun <hidden>
Date: 2021-08-19 12:11:04

It will cause deadlock when use switch-default, so fix it

Signed-off-by: Yu Wenjun<redacted>
---
 drivers/net/ice/ice_generic_flow.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c
index 66b5743abf..c2fa75f165 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -2518,15 +2518,16 @@ ice_flow_query(struct rte_eth_dev *dev,
 			ret = flow->engine->query_count(ad, flow, count, error);
 			break;
 		default:
-			return rte_flow_error_set(error, ENOTSUP,
+			ret = rte_flow_error_set(error, ENOTSUP,
 					RTE_FLOW_ERROR_TYPE_ACTION,
 					actions,
 					"action not supported");
+			goto out;
 		}
 	}
 
+out:
 	rte_spinlock_unlock(&pf->flow_ops_lock);
-
 	return ret;
 }
 
-- 
2.32.0.windows.1

Re: [dpdk-dev] [PATCH] net/ice: fix deadlock in ice_flow_query()

From: Zhang, Qi Z <hidden>
Date: 2021-08-29 13:06:12

-----Original Message-----
From: Yu Wenjun <redacted>
Sent: Thursday, August 19, 2021 8:10 PM
To: Yang, Qiming <redacted>; Zhang, Qi Z
[off-list ref]
Cc: dev@dpdk.org; stable@dpdk.org; Yu Wenjun <redacted>
Subject: [PATCH] net/ice: fix deadlock in ice_flow_query()

It will cause deadlock when use switch-default, so fix it

Signed-off-by: Yu Wenjun<redacted>
Fixes: 0d6ef740e411 ("net/ice: support flow ops thread safe")
Cc: stable@dpdk.org

Acked-by: Qi Zhang <redacted>

Applied to dpdk-next-net-intel.

Thanks
Qi
quoted hunk
---
 drivers/net/ice/ice_generic_flow.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ice/ice_generic_flow.c
b/drivers/net/ice/ice_generic_flow.c
index 66b5743abf..c2fa75f165 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -2518,15 +2518,16 @@ ice_flow_query(struct rte_eth_dev *dev,
 			ret = flow->engine->query_count(ad, flow, count, error);
 			break;
 		default:
-			return rte_flow_error_set(error, ENOTSUP,
+			ret = rte_flow_error_set(error, ENOTSUP,
 					RTE_FLOW_ERROR_TYPE_ACTION,
 					actions,
 					"action not supported");
+			goto out;
 		}
 	}

+out:
 	rte_spinlock_unlock(&pf->flow_ops_lock);
-
 	return ret;
 }

--
2.32.0.windows.1

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help