From: Marcin Szycik <marcin.szycik@linux.intel.com>
To: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org, sandeep.penigalapati@intel.com,
ananth.s@intel.com, alexander.duyck@gmail.com,
anthony.l.nguyen@intel.com,
Marcin Szycik <marcin.szycik@linux.intel.com>,
Aleksandr Loktionov <aleksandr.loktionov@intel.com>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>
Subject: [Intel-wired-lan] [PATCH iwl-next v5 11/12] ice: re-introduce ice_dealloc_flow_entry() helper
Date: Thu, 2 Jul 2026 12:30:05 +0200 [thread overview]
Message-ID: <20260702103007.97020-12-marcin.szycik@linux.intel.com> (raw)
In-Reply-To: <20260702103007.97020-1-marcin.szycik@linux.intel.com>
It was removed in commit ad667d626825 ("ice: remove null checks before
devm_kfree() calls"). Now it's useful again.
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
v5:
* ice_flow_acl_add_scen_entry_sync(), ice_flow_add_entry():
ice_flow_acl_free_act_cntr() additions make more sense in patch adding
this code, move them to that patch. Now this patch is a pure refactor.
v3:
* ice_flow_acl_add_scen_entry_sync(), ice_flow_add_entry(): call
ice_flow_acl_free_act_cntr() in unroll
v2:
* Add this patch
---
drivers/net/ethernet/intel/ice/ice_flow.c | 35 +++++++++++++----------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_flow.c b/drivers/net/ethernet/intel/ice/ice_flow.c
index e0a1d8463d6f..de751774affc 100644
--- a/drivers/net/ethernet/intel/ice/ice_flow.c
+++ b/drivers/net/ethernet/intel/ice/ice_flow.c
@@ -1589,6 +1589,23 @@ ice_flow_find_prof_id(struct ice_hw *hw, enum ice_block blk, u64 prof_id)
return NULL;
}
+/**
+ * ice_dealloc_flow_entry - Deallocate flow entry memory
+ * @hw: pointer to the HW struct
+ * @entry: flow entry to be removed
+ */
+static void
+ice_dealloc_flow_entry(struct ice_hw *hw, struct ice_flow_entry *entry)
+{
+ if (!entry)
+ return;
+
+ kfree(entry->entry);
+ kfree(entry->range_buf);
+ kfree(entry->acts);
+ devm_kfree(ice_hw_to_dev(hw), entry);
+}
+
/**
* ice_flow_get_hw_prof - return the HW profile for a specific profile ID handle
* @hw: pointer to the HW struct
@@ -1757,11 +1774,7 @@ static int ice_flow_rem_entry_sync(struct ice_hw *hw, enum ice_block blk,
}
list_del(&entry->l_entry);
-
- kfree(entry->entry);
- kfree(entry->range_buf);
- kfree(entry->acts);
- devm_kfree(ice_hw_to_dev(hw), entry);
+ ice_dealloc_flow_entry(hw, entry);
return 0;
}
@@ -2948,10 +2961,7 @@ static int ice_flow_acl_add_scen_entry_sync(struct ice_hw *hw,
if (e->acts_cnt && e->acts)
ice_flow_acl_free_act_cntr(hw, e->acts, e->acts_cnt);
exist->id = e->id;
- kfree(e->entry);
- kfree(e->range_buf);
- kfree(e->acts);
- devm_kfree(ice_hw_to_dev(hw), e);
+ ice_dealloc_flow_entry(hw, e);
*entry = exist;
}
out:
@@ -3075,12 +3085,7 @@ int ice_flow_add_entry(struct ice_hw *hw, enum ice_block blk, u64 prof_id,
if (blk == ICE_BLK_ACL && e->acts_cnt && e->acts)
ice_flow_acl_free_act_cntr(hw, e->acts, e->acts_cnt);
dealloc_entry:
- if (e) {
- kfree(e->entry);
- kfree(e->range_buf);
- kfree(e->acts);
- devm_kfree(ice_hw_to_dev(hw), e);
- }
+ ice_dealloc_flow_entry(hw, e);
return status;
}
--
2.49.0
WARNING: multiple messages have this Message-ID (diff)
From: Marcin Szycik <marcin.szycik@linux.intel.com>
To: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org, sandeep.penigalapati@intel.com,
ananth.s@intel.com, alexander.duyck@gmail.com,
anthony.l.nguyen@intel.com,
Marcin Szycik <marcin.szycik@linux.intel.com>,
Aleksandr Loktionov <aleksandr.loktionov@intel.com>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>
Subject: [PATCH iwl-next v5 11/12] ice: re-introduce ice_dealloc_flow_entry() helper
Date: Thu, 2 Jul 2026 12:30:05 +0200 [thread overview]
Message-ID: <20260702103007.97020-12-marcin.szycik@linux.intel.com> (raw)
In-Reply-To: <20260702103007.97020-1-marcin.szycik@linux.intel.com>
It was removed in commit ad667d626825 ("ice: remove null checks before
devm_kfree() calls"). Now it's useful again.
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
v5:
* ice_flow_acl_add_scen_entry_sync(), ice_flow_add_entry():
ice_flow_acl_free_act_cntr() additions make more sense in patch adding
this code, move them to that patch. Now this patch is a pure refactor.
v3:
* ice_flow_acl_add_scen_entry_sync(), ice_flow_add_entry(): call
ice_flow_acl_free_act_cntr() in unroll
v2:
* Add this patch
---
drivers/net/ethernet/intel/ice/ice_flow.c | 35 +++++++++++++----------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_flow.c b/drivers/net/ethernet/intel/ice/ice_flow.c
index e0a1d8463d6f..de751774affc 100644
--- a/drivers/net/ethernet/intel/ice/ice_flow.c
+++ b/drivers/net/ethernet/intel/ice/ice_flow.c
@@ -1589,6 +1589,23 @@ ice_flow_find_prof_id(struct ice_hw *hw, enum ice_block blk, u64 prof_id)
return NULL;
}
+/**
+ * ice_dealloc_flow_entry - Deallocate flow entry memory
+ * @hw: pointer to the HW struct
+ * @entry: flow entry to be removed
+ */
+static void
+ice_dealloc_flow_entry(struct ice_hw *hw, struct ice_flow_entry *entry)
+{
+ if (!entry)
+ return;
+
+ kfree(entry->entry);
+ kfree(entry->range_buf);
+ kfree(entry->acts);
+ devm_kfree(ice_hw_to_dev(hw), entry);
+}
+
/**
* ice_flow_get_hw_prof - return the HW profile for a specific profile ID handle
* @hw: pointer to the HW struct
@@ -1757,11 +1774,7 @@ static int ice_flow_rem_entry_sync(struct ice_hw *hw, enum ice_block blk,
}
list_del(&entry->l_entry);
-
- kfree(entry->entry);
- kfree(entry->range_buf);
- kfree(entry->acts);
- devm_kfree(ice_hw_to_dev(hw), entry);
+ ice_dealloc_flow_entry(hw, entry);
return 0;
}
@@ -2948,10 +2961,7 @@ static int ice_flow_acl_add_scen_entry_sync(struct ice_hw *hw,
if (e->acts_cnt && e->acts)
ice_flow_acl_free_act_cntr(hw, e->acts, e->acts_cnt);
exist->id = e->id;
- kfree(e->entry);
- kfree(e->range_buf);
- kfree(e->acts);
- devm_kfree(ice_hw_to_dev(hw), e);
+ ice_dealloc_flow_entry(hw, e);
*entry = exist;
}
out:
@@ -3075,12 +3085,7 @@ int ice_flow_add_entry(struct ice_hw *hw, enum ice_block blk, u64 prof_id,
if (blk == ICE_BLK_ACL && e->acts_cnt && e->acts)
ice_flow_acl_free_act_cntr(hw, e->acts, e->acts_cnt);
dealloc_entry:
- if (e) {
- kfree(e->entry);
- kfree(e->range_buf);
- kfree(e->acts);
- devm_kfree(ice_hw_to_dev(hw), e);
- }
+ ice_dealloc_flow_entry(hw, e);
return status;
}
--
2.49.0
next prev parent reply other threads:[~2026-07-02 11:30 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-02 10:29 [Intel-wired-lan] [PATCH iwl-next v5 00/12] Add ACL support Marcin Szycik
2026-07-02 10:29 ` Marcin Szycik
2026-07-02 10:29 ` [Intel-wired-lan] [PATCH iwl-next v5 01/12] ice: rename shared Flow Director functions and structs Marcin Szycik
2026-07-02 10:29 ` Marcin Szycik
2026-07-02 10:29 ` [Intel-wired-lan] [PATCH iwl-next v5 02/12] ice: remove unused ICE_FD_FLUSH_REQ from PF state Marcin Szycik
2026-07-02 10:29 ` Marcin Szycik
2026-07-02 10:29 ` [Intel-wired-lan] [PATCH iwl-next v5 03/12] ice: initialize ACL table Marcin Szycik
2026-07-02 10:29 ` Marcin Szycik
2026-07-02 10:29 ` [Intel-wired-lan] [PATCH iwl-next v5 04/12] ice: initialize ACL scenario Marcin Szycik
2026-07-02 10:29 ` Marcin Szycik
2026-07-02 10:29 ` [Intel-wired-lan] [PATCH iwl-next v5 05/12] ice: create flow profile Marcin Szycik
2026-07-02 10:29 ` Marcin Szycik
2026-07-02 10:30 ` [Intel-wired-lan] [PATCH iwl-next v5 06/12] Revert "ice: remove unused ice_flow_entry fields" Marcin Szycik
2026-07-02 10:30 ` Marcin Szycik
2026-07-02 10:30 ` [Intel-wired-lan] [PATCH iwl-next v5 07/12] ice: use plain alloc/dealloc for ice_ntuple_fltr Marcin Szycik
2026-07-02 10:30 ` Marcin Szycik
2026-07-02 10:30 ` [Intel-wired-lan] [PATCH iwl-next v5 08/12] ice: create ACL entry Marcin Szycik
2026-07-02 10:30 ` Marcin Szycik
2026-07-02 10:30 ` [Intel-wired-lan] [PATCH iwl-next v5 09/12] ice: program " Marcin Szycik
2026-07-02 10:30 ` Marcin Szycik
2026-07-02 10:30 ` [Intel-wired-lan] [PATCH iwl-next v5 10/12] ice: add ACL reset recovery and NTUPLE feature toggle Marcin Szycik
2026-07-02 10:30 ` Marcin Szycik
2026-07-02 10:30 ` Marcin Szycik [this message]
2026-07-02 10:30 ` [PATCH iwl-next v5 11/12] ice: re-introduce ice_dealloc_flow_entry() helper Marcin Szycik
2026-07-02 10:30 ` [Intel-wired-lan] [PATCH iwl-next v5 12/12] ice: use ACL for ntuple rules that conflict with FDir Marcin Szycik
2026-07-02 10:30 ` Marcin Szycik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260702103007.97020-12-marcin.szycik@linux.intel.com \
--to=marcin.szycik@linux.intel.com \
--cc=aleksandr.loktionov@intel.com \
--cc=alexander.duyck@gmail.com \
--cc=ananth.s@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=netdev@vger.kernel.org \
--cc=przemyslaw.kitszel@intel.com \
--cc=sandeep.penigalapati@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.