RDMA/mlx5: Fix udata response upon SRQ creation

Fix udata response upon SRQ creation to use the UAPI structure (i.e.
mlx5_ib_create_srq_resp). It did not zero the reserved field in userspace.

Fixes: e126ba97db ("mlx5: Add driver for Mellanox Connect-IB adapters")
Link: https://lore.kernel.org/r/20200406173540.1466477-1-leon@kernel.org
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
Yishai Hadas 2020-04-06 20:35:40 +03:00 committed by Jason Gunthorpe
parent 0184afd15a
commit cf26deff90

View File

@ -310,12 +310,18 @@ int mlx5_ib_create_srq(struct ib_srq *ib_srq,
srq->msrq.event = mlx5_ib_srq_event; srq->msrq.event = mlx5_ib_srq_event;
srq->ibsrq.ext.xrc.srq_num = srq->msrq.srqn; srq->ibsrq.ext.xrc.srq_num = srq->msrq.srqn;
if (udata) if (udata) {
if (ib_copy_to_udata(udata, &srq->msrq.srqn, sizeof(__u32))) { struct mlx5_ib_create_srq_resp resp = {
.srqn = srq->msrq.srqn,
};
if (ib_copy_to_udata(udata, &resp, min(udata->outlen,
sizeof(resp)))) {
mlx5_ib_dbg(dev, "copy to user failed\n"); mlx5_ib_dbg(dev, "copy to user failed\n");
err = -EFAULT; err = -EFAULT;
goto err_core; goto err_core;
} }
}
init_attr->attr.max_wr = srq->msrq.max - 1; init_attr->attr.max_wr = srq->msrq.max - 1;