Re: [PATCH] IB/mlx5: fix debugfs cleanup

From: Leon Romanovsky
Date: Mon Sep 18 2017 - 01:49:30 EST


On Sun, Sep 17, 2017 at 01:28:08PM +0100, Sudip Mukherjee wrote:
> If delay_drop_debugfs_init() fails in any of the operations to create
> debugfs, it is calling delay_drop_debugfs_cleanup() as part of its
> cleanup. But delay_drop_debugfs_cleanup() checks for 'dbg' and since
> we have not yet pointed 'dbg' to the debugfs we need to cleanup the
> cleanup fails and we are left with stray debugfs elements and also a
> memory leak.
>
> Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
> ---
> drivers/infiniband/hw/mlx5/main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
> index ab3c562..fba1920a 100644
> --- a/drivers/infiniband/hw/mlx5/main.c
> +++ b/drivers/infiniband/hw/mlx5/main.c
> @@ -3870,6 +3870,7 @@ static int delay_drop_debugfs_init(struct mlx5_ib_dev *dev)
> return 0;
>
> out_debugfs:
> + dev->delay_drop.dbg = dbg;
> delay_drop_debugfs_cleanup(dev);
> return -ENOMEM;
> }

Thank you for doing that,
I would prefer to have the patch below to set dbg pointer in one place, together with following
fixes line in commit message:
Fixes: 4a5fd5d2965c ("IB/mlx5: Add necessary delay drop assignment")

Thanks

diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index ab3c562d5ba7..451aed790248 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -3837,6 +3837,8 @@ static int delay_drop_debugfs_init(struct mlx5_ib_dev *dev)
if (!dbg)
return -ENOMEM;

+ dev->delay_drop.dbg = dbg;
+
dbg->dir_debugfs =
debugfs_create_dir("delay_drop",
dev->mdev->priv.dbg_root);
@@ -3865,8 +3867,6 @@ static int delay_drop_debugfs_init(struct mlx5_ib_dev *dev)
if (!dbg->timeout_debugfs)
goto out_debugfs;

- dev->delay_drop.dbg = dbg;
-
return 0;

out_debugfs:

> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature