]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 1c37098e09ea51422c1148e56ee2a9f76eb3583b..49a637829c5941124e8a299b5c80e39aebf109e9 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);