patch 'net/mlx5: fix flow tables double release' has been queued to stable release 19.11.11
christian.ehrhardt at canonical.com
christian.ehrhardt at canonical.com
Tue Nov 30 17:34:17 CET 2021
Hi,
FYI, your patch has been queued to stable release 19.11.11
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before December 10th 2021. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/cpaelzer/dpdk-stable-queue
This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/4ca7fab3b0e3365bf427660fcb62c0cd856ea73e
Thanks.
Christian Ehrhardt <christian.ehrhardt at canonical.com>
---
>From 4ca7fab3b0e3365bf427660fcb62c0cd856ea73e Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz at nvidia.com>
Date: Tue, 28 Sep 2021 07:08:51 +0300
Subject: [PATCH] net/mlx5: fix flow tables double release
[ upstream commit a6b57ff48708e659ad35aed499c32805de85d3cd ]
In the function mlx5_alloc_shared_dr(), there are various reasons
to result in a failure and error clean up process. While in the
caller of mlx5_dev_spawn(), once there is a error occurring after
the mlx5_alloc_shared_dr(), the mlx5_os_free_shared_dr() is called
to release all the resources.
To prevent a double release, the pointers of the resources should
be checked before the releasing and set to NULL after done.
In the mlx5_free_table_hash_list(), after the releasing, the pointer
was missed to set to NULL and a double release may cause a crash.
By setting the tables pointer to NULL as done for other resources,
the double release and crash could be solved.
Fixes: 54534725d2f3 ("net/mlx5: fix flow table hash list conversion")
Signed-off-by: Bing Zhao <bingz at nvidia.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
drivers/net/mlx5/mlx5.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 3134b7956f..d9db6aa398 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -849,6 +849,7 @@ mlx5_free_table_hash_list(struct mlx5_priv *priv)
rte_free(tbl_data);
}
mlx5_hlist_destroy(sh->flow_tbls, NULL, NULL);
+ sh->flow_tbls = NULL;
}
/**
--
2.34.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2021-11-30 16:50:09.134719536 +0100
+++ 0053-net-mlx5-fix-flow-tables-double-release.patch 2021-11-30 16:50:05.706872913 +0100
@@ -1 +1 @@
-From a6b57ff48708e659ad35aed499c32805de85d3cd Mon Sep 17 00:00:00 2001
+From 4ca7fab3b0e3365bf427660fcb62c0cd856ea73e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a6b57ff48708e659ad35aed499c32805de85d3cd ]
+
@@ -22 +23,0 @@
-Cc: stable at dpdk.org
@@ -31 +32 @@
-index aa428366b3..45ccfe2784 100644
+index 3134b7956f..d9db6aa398 100644
@@ -34,4 +35,4 @@
-@@ -1372,6 +1372,7 @@ mlx5_free_table_hash_list(struct mlx5_priv *priv)
- if (!sh->flow_tbls)
- return;
- mlx5_hlist_destroy(sh->flow_tbls);
+@@ -849,6 +849,7 @@ mlx5_free_table_hash_list(struct mlx5_priv *priv)
+ rte_free(tbl_data);
+ }
+ mlx5_hlist_destroy(sh->flow_tbls, NULL, NULL);
More information about the stable
mailing list