net/mlx5: Fix memory leak in esw_acl_ingress_lgcy_setup()
authorZilin Guan <zilin@seu.edu.cn>
Tue, 20 Jan 2026 13:46:40 +0000 (13:46 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 23 Jan 2026 04:30:58 +0000 (20:30 -0800)
In esw_acl_ingress_lgcy_setup(), if esw_acl_table_create() fails,
the function returns directly without releasing the previously
created counter, leading to a memory leak.

Fix this by jumping to the out label instead of returning directly,
which aligns with the error handling logic of other paths in this
function.

Compile tested only. Issue found using a prototype static analysis tool
and code review.

Fixes: 07bab9502641 ("net/mlx5: E-Switch, Refactor eswitch ingress acl codes")
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260120134640.2717808-1-zilin@seu.edu.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c

index 1c37098..49a6378 100644 (file)
@@ -188,7 +188,7 @@ int esw_acl_ingress_lgcy_setup(struct mlx5_eswitch *esw,
                if (IS_ERR(vport->ingress.acl)) {
                        err = PTR_ERR(vport->ingress.acl);
                        vport->ingress.acl = NULL;
-                       return err;
+                       goto out;
                }
 
                err = esw_acl_ingress_lgcy_groups_create(esw, vport);