net/mlx4_core: fix a memory leak bug.
authorQiushi Wu <wu000273@umn.edu>
Fri, 22 May 2020 19:07:15 +0000 (14:07 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jun 2020 06:17:41 +0000 (08:17 +0200)
commit febfd9d3c7f74063e8e630b15413ca91b567f963 upstream.

In function mlx4_opreq_action(), pointer "mailbox" is not released,
when mlx4_cmd_box() return and error, causing a memory leak bug.
Fix this issue by going to "out" label, mlx4_free_cmd_mailbox() can
free this pointer.

Fixes: fe6f700d6cbb ("net/mlx4_core: Respond to operation request by firmware")
Signed-off-by: Qiushi Wu <wu000273@umn.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx4/fw.c

index 7440c769b30f396a5b67e98cd46278c0139f5b74..8aecc4f4f123ca9971831a6477e14fc66588fb25 100644 (file)
@@ -2715,7 +2715,7 @@ void mlx4_opreq_action(struct work_struct *work)
                if (err) {
                        mlx4_err(dev, "Failed to retrieve required operation: %d\n",
                                 err);
-                       return;
+                       goto out;
                }
                MLX4_GET(modifier, outbox, GET_OP_REQ_MODIFIER_OFFSET);
                MLX4_GET(token, outbox, GET_OP_REQ_TOKEN_OFFSET);