[dpdk-dev] [PATCH] net/ice/base: free memory for GTP-U before return status
Junfeng Guo
junfeng.guo at intel.com
Mon Jul 20 08:59:38 CEST 2020
Add memory space free logic for adding and removing GTP-U before return
success status, to aviod memory leak issue.
Fixes: bed9bb3139ef ("net/ice/base: fix GTP-U inner RSS IPv4 IPv6 co-exist")
Signed-off-by: Junfeng Guo <junfeng.guo at intel.com>
---
drivers/net/ice/base/ice_flow.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ice/base/ice_flow.c b/drivers/net/ice/base/ice_flow.c
index 094f5370a..6035bdfcf 100644
--- a/drivers/net/ice/base/ice_flow.c
+++ b/drivers/net/ice/base/ice_flow.c
@@ -3586,8 +3586,10 @@ ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
/* don't do RSS for GTPU outer */
if (segs_cnt == ICE_RSS_OUTER_HEADERS &&
- segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU)
- return ICE_SUCCESS;
+ segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU) {
+ status = ICE_SUCCESS;
+ goto exit;
+ }
/* Search for a flow profile that has matching headers, hash fields
* and has the input VSI associated to it. If found, no further
@@ -3746,8 +3748,10 @@ ice_rem_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
goto out;
if (segs_cnt == ICE_RSS_OUTER_HEADERS &&
- segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU)
- return ICE_SUCCESS;
+ segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU) {
+ status = ICE_SUCCESS;
+ goto out;
+ }
prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt,
vsi_handle,
--
2.25.1
More information about the dev
mailing list