All of lore.kernel.org
 help / color / mirror / Atom feed
From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
	netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
	Ariel Levkovich <lariel@nvidia.com>
Subject: [net 03/16] net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc
Date: Mon,  9 Jan 2023 22:11:10 -0800	[thread overview]
Message-ID: <20230110061123.338427-4-saeed@kernel.org> (raw)
In-Reply-To: <20230110061123.338427-1-saeed@kernel.org>

From: Ariel Levkovich <lariel@nvidia.com>

When offloading TC NIC rule which has mod_hdr action, the
mod_hdr actions list is freed upon mod_hdr allocation.

In the new format of handling multi table actions and CT in
particular, the mod_hdr actions list is still relevant when
setting the pre and post rules and therefore, freeing the list
may cause adding rules which don't set the FTE_ID.

Therefore, the mod_hdr actions list needs to be kept for the
pre/post flows as well and should be left for these handler to
be freed.

Fixes: 8300f225268b ("net/mlx5e: Create new flow attr for multi table actions")
Signed-off-by: Ariel Levkovich <lariel@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index 9af2aa2922f5..dbadaf166487 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -1301,7 +1301,6 @@ mlx5e_tc_add_nic_flow(struct mlx5e_priv *priv,
 
 	if (attr->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR) {
 		err = mlx5e_attach_mod_hdr(priv, flow, parse_attr);
-		mlx5e_mod_hdr_dealloc(&parse_attr->mod_hdr_acts);
 		if (err)
 			return err;
 	}
@@ -1359,8 +1358,10 @@ static void mlx5e_tc_del_nic_flow(struct mlx5e_priv *priv,
 	}
 	mutex_unlock(&tc->t_lock);
 
-	if (attr->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR)
+	if (attr->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR) {
+		mlx5e_mod_hdr_dealloc(&attr->parse_attr->mod_hdr_acts);
 		mlx5e_detach_mod_hdr(priv, flow);
+	}
 
 	if (attr->action & MLX5_FLOW_CONTEXT_ACTION_COUNT)
 		mlx5_fc_destroy(priv->mdev, attr->counter);
-- 
2.39.0


  parent reply	other threads:[~2023-01-10  6:11 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-10  6:11 [pull request][net 00/16] mlx5 fixes 2023-01-09 Saeed Mahameed
2023-01-10  6:11 ` [net 01/16] net/mlx5: DR, Fix 'stack frame size exceeds limit' error in dr_rule Saeed Mahameed
2023-01-11 13:00   ` patchwork-bot+netdevbpf
2023-01-10  6:11 ` [net 02/16] net/mlx5: check attr pointer validity before dereferencing it Saeed Mahameed
2023-01-10  6:11 ` Saeed Mahameed [this message]
2023-01-10  6:11 ` [net 04/16] net/mlx5: Fix command stats access after free Saeed Mahameed
2023-01-10  6:11 ` [net 05/16] net/mlx5e: Verify dev is present for fix features ndo Saeed Mahameed
2023-01-10  6:11 ` [net 06/16] net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are present Saeed Mahameed
2023-01-10  6:11 ` [net 07/16] net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent Saeed Mahameed
2023-01-10  6:11 ` [net 08/16] net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path Saeed Mahameed
2023-01-10  6:11 ` [net 09/16] net/mlx5e: TC, ignore match level for post meter rules Saeed Mahameed
2023-01-10  6:11 ` [net 10/16] net/mlx5e: TC, Restore pkt rate policing support Saeed Mahameed
2023-01-10  6:11 ` [net 11/16] net/mlx5e: Fix memory leak on updating vport counters Saeed Mahameed
2023-01-10  6:11 ` [net 12/16] net/mlx5: Fix ptp max frequency adjustment range Saeed Mahameed
2023-01-10  6:11 ` [net 13/16] net/mlx5e: Don't support encap rules with gbp option Saeed Mahameed
2023-01-10  6:11 ` [net 14/16] net/mlx5: E-switch, Coverity: overlapping copy Saeed Mahameed
2023-01-10  6:11 ` [net 15/16] net/mlx5e: Fix macsec ssci attribute handling in offload path Saeed Mahameed
2023-01-10  6:11 ` [net 16/16] net/mlx5e: Fix macsec possible null dereference when updating MAC security entity (SecY) Saeed Mahameed
2023-01-11  2:01 ` [pull request][net 00/16] mlx5 fixes 2023-01-09 Jakub Kicinski

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=20230110061123.338427-4-saeed@kernel.org \
    --to=saeed@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=lariel@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=saeedm@nvidia.com \
    --cc=tariqt@nvidia.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.