[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1565684495-2454-1-git-send-email-wenwen@cs.uga.edu>
Date: Tue, 13 Aug 2019 03:21:35 -0500
From: Wenwen Wang <wenwen@...uga.edu>
To: Wenwen Wang <wenwen@...uga.edu>
Cc: Saeed Mahameed <saeedm@...lanox.com>,
Leon Romanovsky <leon@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
netdev@...r.kernel.org (open list:MELLANOX MLX5 core VPI driver),
linux-rdma@...r.kernel.org (open list:MELLANOX MLX5 core VPI driver),
linux-kernel@...r.kernel.org (open list)
Subject: [PATCH] net/mlx5: Fix a memory leak bug
In mlx5_cmd_invoke(), 'ent' is allocated through kzalloc() in alloc_cmd().
After the work is queued, wait_func() is invoked to wait the completion of
the work. If wait_func() returns -ETIMEDOUT, the following execution will
be terminated. However, the allocated 'ent' is not deallocated on this
program path, leading to a memory leak bug.
To fix the above issue, free 'ent' before returning the error.
Signed-off-by: Wenwen Wang <wenwen@...uga.edu>
---
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c
index 8cdd7e6..90cdb9a 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c
@@ -1036,7 +1036,7 @@ static int mlx5_cmd_invoke(struct mlx5_core_dev *dev, struct mlx5_cmd_msg *in,
err = wait_func(dev, ent);
if (err == -ETIMEDOUT)
- goto out;
+ goto out_free;
ds = ent->ts2 - ent->ts1;
op = MLX5_GET(mbox_in, in->first.data, opcode);
--
2.7.4
Powered by blists - more mailing lists