On Mon, Sep 18, 2017 at 12:28:48PM +0100, Sudip Mukherjee wrote:
> From: Sudip Mukherjee <sudipm.mukher...@gmail.com>
>
> 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.mukher...@gmail.com>
> ---
>  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 <leo...@mellanox.com>

Attachment: signature.asc
Description: PGP signature

Reply via email to