[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170918054910.GE5788@mtr-leonro.local>
Date: Mon, 18 Sep 2017 08:49:10 +0300
From: Leon Romanovsky <leonro@...lanox.com>
To: Sudip Mukherjee <sudipm.mukherjee@...il.com>
Cc: Matan Barak <matanb@...lanox.com>,
Doug Ledford <dledford@...hat.com>,
Sean Hefty <sean.hefty@...el.com>,
Hal Rosenstock <hal.rosenstock@...il.com>,
linux-kernel@...r.kernel.org, linux-rdma@...r.kernel.org
Subject: Re: [PATCH] IB/mlx5: fix debugfs cleanup
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@...il.com>
> ---
> 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@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists