From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Thu, 25 Jul 2013 17:04:36 +0000 (+0300)
Subject: IB/mlx5: Fix stack info leak in mlx5_ib_alloc_ucontext()
X-Git-Tag: firefly_0821_release~176^2~5605^2^7~3
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=92b0ca7cb149;p=firefly-linux-kernel-4.4.55.git

IB/mlx5: Fix stack info leak in mlx5_ib_alloc_ucontext()

We don't set "resp.reserved".  Since it's at the end of the struct
that means we don't have to copy it to the user.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
---

diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index b1cbf338bcf6..3f831de9a4d8 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -619,7 +619,8 @@ static struct ib_ucontext *mlx5_ib_alloc_ucontext(struct ib_device *ibdev,
 
 	resp.tot_uuars = req.total_num_uuars;
 	resp.num_ports = dev->mdev.caps.num_ports;
-	err = ib_copy_to_udata(udata, &resp, sizeof(resp));
+	err = ib_copy_to_udata(udata, &resp,
+			       sizeof(resp) - sizeof(resp.reserved));
 	if (err)
 		goto out_uars;