mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 04:23:35 +02:00
RDMA: Consolidate patterns with offsetof() to ib_copy_validate_udata_in()
Similar to the prior patch, these patterns are open coding an offsetofend(). The use of offsetof() targets the prior field as the last field in the struct. Reviewed-by: Long Li <longli@microsoft.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
This commit is contained in:
parent
ae638288b2
commit
8d7573b194
|
|
@ -27,14 +27,9 @@ int mana_ib_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
|
|||
is_rnic_cq = mana_ib_is_rnic(mdev);
|
||||
|
||||
if (udata) {
|
||||
if (udata->inlen < offsetof(struct mana_ib_create_cq, flags))
|
||||
return -EINVAL;
|
||||
|
||||
err = ib_copy_from_udata(&ucmd, udata, min(sizeof(ucmd), udata->inlen));
|
||||
if (err) {
|
||||
ibdev_dbg(ibdev, "Failed to copy from udata for create cq, %d\n", err);
|
||||
err = ib_copy_validate_udata_in(udata, ucmd, buf_addr);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((!is_rnic_cq && attr->cqe > mdev->adapter_caps.max_qp_wr) ||
|
||||
attr->cqe > U32_MAX / COMP_ENTRY_SIZE) {
|
||||
|
|
|
|||
|
|
@ -723,7 +723,6 @@ static int create_cq_user(struct mlx5_ib_dev *dev, struct ib_udata *udata,
|
|||
struct mlx5_ib_create_cq ucmd = {};
|
||||
unsigned long page_size;
|
||||
unsigned int page_offset_quantized;
|
||||
size_t ucmdlen;
|
||||
__be64 *pas;
|
||||
int ncont;
|
||||
void *cqc;
|
||||
|
|
@ -731,12 +730,9 @@ static int create_cq_user(struct mlx5_ib_dev *dev, struct ib_udata *udata,
|
|||
struct mlx5_ib_ucontext *context = rdma_udata_to_drv_context(
|
||||
udata, struct mlx5_ib_ucontext, ibucontext);
|
||||
|
||||
ucmdlen = min(udata->inlen, sizeof(ucmd));
|
||||
if (ucmdlen < offsetof(struct mlx5_ib_create_cq, flags))
|
||||
return -EINVAL;
|
||||
|
||||
if (ib_copy_from_udata(&ucmd, udata, ucmdlen))
|
||||
return -EFAULT;
|
||||
err = ib_copy_validate_udata_in(udata, ucmd, cqe_comp_res_format);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if ((ucmd.flags & ~(MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD |
|
||||
MLX5_IB_CREATE_CQ_FLAGS_UAR_PAGE_INDEX |
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user