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 <[email protected]> > --- > 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 [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
signature.asc
Description: PGP signature

