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

From: Leon Romanovsky
Date: Mon Sep 18 2017 - 07:49:23 EST


On Mon, Sep 18, 2017 at 12:28:48PM +0100, Sudip Mukherjee wrote:
> From: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
>
> 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.
>
> Fixes: 4a5fd5d2965c ("IB/mlx5: Add necessary delay drop assignment")
> Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
> ---
> drivers/infiniband/hw/mlx5/main.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
> index ab3c562..05fb4bd 100644
> --- a/drivers/infiniband/hw/mlx5/main.c
> +++ b/drivers/infiniband/hw/mlx5/main.c
> @@ -3837,11 +3837,13 @@ 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);
> if (!dbg->dir_debugfs)
> - return -ENOMEM;
> + goto out_debugfs;
>

Thanks,
Acked-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature