Blame patches.suse/net-mlx5e-Fix-use-after-free-when-reverting-terminat.patch
|
Thomas Bogendoerfer |
7a97f3 |
From: Roi Dayan <roid@nvidia.com>
|
|
Thomas Bogendoerfer |
7a97f3 |
Date: Mon, 14 Nov 2022 20:04:29 +0200
|
|
Thomas Bogendoerfer |
7a97f3 |
Subject: net/mlx5e: Fix use-after-free when reverting termination table
|
|
Thomas Bogendoerfer |
7a97f3 |
Patch-mainline: v6.1-rc8
|
|
Thomas Bogendoerfer |
7a97f3 |
Git-commit: 52c795af04441d76f565c4634f893e5b553df2ae
|
|
Thomas Bogendoerfer |
7a97f3 |
References: jsc#PED-1549
|
|
Thomas Bogendoerfer |
7a97f3 |
|
|
Thomas Bogendoerfer |
7a97f3 |
When having multiple dests with termination tables and second one
|
|
Thomas Bogendoerfer |
7a97f3 |
or afterwards fails the driver reverts usage of term tables but
|
|
Thomas Bogendoerfer |
7a97f3 |
doesn't reset the assignment in attr->dests[num_vport_dests].termtbl
|
|
Thomas Bogendoerfer |
7a97f3 |
which case a use-after-free when releasing the rule.
|
|
Thomas Bogendoerfer |
7a97f3 |
Fix by resetting the assignment of termtbl to null.
|
|
Thomas Bogendoerfer |
7a97f3 |
|
|
Thomas Bogendoerfer |
7a97f3 |
Fixes: 10caabdaad5a ("net/mlx5e: Use termination table for VLAN push actions")
|
|
Thomas Bogendoerfer |
7a97f3 |
Signed-off-by: Roi Dayan <roid@nvidia.com>
|
|
Thomas Bogendoerfer |
7a97f3 |
Reviewed-by: Maor Dickman <maord@nvidia.com>
|
|
Thomas Bogendoerfer |
7a97f3 |
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
|
|
Thomas Bogendoerfer |
7a97f3 |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
7a97f3 |
---
|
|
Thomas Bogendoerfer |
7a97f3 |
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c | 2 ++
|
|
Thomas Bogendoerfer |
7a97f3 |
1 file changed, 2 insertions(+)
|
|
Thomas Bogendoerfer |
7a97f3 |
|
|
Thomas Bogendoerfer |
7a97f3 |
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c
|
|
Thomas Bogendoerfer |
7a97f3 |
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c
|
|
Thomas Bogendoerfer |
7a97f3 |
@@ -312,6 +312,8 @@ revert_changes:
|
|
Thomas Bogendoerfer |
7a97f3 |
for (curr_dest = 0; curr_dest < num_vport_dests; curr_dest++) {
|
|
Thomas Bogendoerfer |
7a97f3 |
struct mlx5_termtbl_handle *tt = attr->dests[curr_dest].termtbl;
|
|
Thomas Bogendoerfer |
7a97f3 |
|
|
Thomas Bogendoerfer |
7a97f3 |
+ attr->dests[curr_dest].termtbl = NULL;
|
|
Thomas Bogendoerfer |
7a97f3 |
+
|
|
Thomas Bogendoerfer |
7a97f3 |
/* search for the destination associated with the
|
|
Thomas Bogendoerfer |
7a97f3 |
* current term table
|
|
Thomas Bogendoerfer |
7a97f3 |
*/
|