git: e6f76b5b4d36 - stable/13 - mlx5: Fix duplicate free of default flow rule in error case.

From: Hans Petter Selasky <hselasky_at_FreeBSD.org>
Date: Sun, 30 Apr 2023 06:58:14 UTC
The branch stable/13 has been updated by hselasky:

URL: https://cgit.FreeBSD.org/src/commit/?id=e6f76b5b4d3675841b8ea4ffedfdd5a5469ae051

commit e6f76b5b4d3675841b8ea4ffedfdd5a5469ae051
Author:     Hans Petter Selasky <hselasky@FreeBSD.org>
AuthorDate: 2023-04-18 11:17:38 +0000
Commit:     Hans Petter Selasky <hselasky@FreeBSD.org>
CommitDate: 2023-04-30 06:56:19 +0000

    mlx5: Fix duplicate free of default flow rule in error case.
    
    Sponsored by:   NVIDIA Networking
    
    (cherry picked from commit 2f7e9a8a21367393b613f0f150d49009fa74dd5c)
---
 sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c
index 4dceaea7ea72..54693e01ae1a 100644
--- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c
+++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c
@@ -341,8 +341,6 @@ accel_fs_tcp_destroy_table(struct mlx5e_priv *priv, int i)
 	fs_tcp = &priv->fts.accel_tcp;
 	ft = fs_tcp->tables + i;
 
-	mlx5_del_flow_rule(&fs_tcp->default_rules[i]);
-
 	accel_fs_tcp_destroy_groups(ft);
 	kfree(ft->g);
 	ft->g = NULL;
@@ -358,8 +356,10 @@ mlx5e_accel_fs_tcp_destroy(struct mlx5e_priv *priv)
 	if (!MLX5_CAP_FLOWTABLE_NIC_RX(priv->mdev, ft_field_support.outer_ip_version))
 		return;
 
-	for (i = 0; i < MLX5E_ACCEL_FS_TCP_NUM_TYPES; i++)
+	for (i = 0; i < MLX5E_ACCEL_FS_TCP_NUM_TYPES; i++) {
+		mlx5_del_flow_rule(&priv->fts.accel_tcp.default_rules[i]);
 		accel_fs_tcp_destroy_table(priv, i);
+	}
 }
 
 int