Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

RDMA: Use ib_copy_validate_udata_in_cm() for zero comp_mask

All of these cases require a 0 comp_mask. Consolidate these into
using ib_copy_validate_udata_in_cm() and remove the open coded
comp_mask test.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>

authored by

Jason Gunthorpe and committed by
Leon Romanovsky
604caebc d5c8f2f3

+13 -17
+4 -4
drivers/infiniband/hw/efa/efa_verbs.c
··· 699 699 if (err) 700 700 goto err_out; 701 701 702 - err = ib_copy_validate_udata_in(udata, cmd, driver_qp_type); 702 + err = ib_copy_validate_udata_in_cm(udata, cmd, driver_qp_type, 0); 703 703 if (err) 704 704 goto err_out; 705 705 706 - if (cmd.comp_mask || !is_reserved_cleared(cmd.reserved_98)) { 706 + if (!is_reserved_cleared(cmd.reserved_98)) { 707 707 ibdev_dbg(&dev->ibdev, 708 708 "Incompatible ABI params, unknown fields in udata\n"); 709 709 err = -EINVAL; ··· 1140 1140 goto err_out; 1141 1141 } 1142 1142 1143 - err = ib_copy_validate_udata_in(udata, cmd, num_sub_cqs); 1143 + err = ib_copy_validate_udata_in_cm(udata, cmd, num_sub_cqs, 0); 1144 1144 if (err) 1145 1145 goto err_out; 1146 1146 1147 - if (cmd.comp_mask || !is_reserved_cleared(cmd.reserved_58)) { 1147 + if (!is_reserved_cleared(cmd.reserved_58)) { 1148 1148 ibdev_dbg(ibdev, 1149 1149 "Incompatible ABI params, unknown fields in udata\n"); 1150 1150 err = -EINVAL;
+1 -4
drivers/infiniband/hw/mlx4/main.c
··· 446 446 struct mlx4_clock_params clock_params; 447 447 448 448 if (uhw->inlen) { 449 - err = ib_copy_validate_udata_in(uhw, cmd, reserved); 449 + err = ib_copy_validate_udata_in_cm(uhw, cmd, reserved, 0); 450 450 if (err) 451 451 return err; 452 - 453 - if (cmd.comp_mask) 454 - return -EINVAL; 455 452 456 453 if (cmd.reserved) 457 454 return -EINVAL;
+6 -7
drivers/infiniband/hw/mlx4/qp.c
··· 720 720 if (udata->outlen) 721 721 return -EOPNOTSUPP; 722 722 723 - err = ib_copy_validate_udata_in(udata, ucmd, reserved1); 723 + err = ib_copy_validate_udata_in_cm(udata, ucmd, reserved1, 0); 724 724 if (err) { 725 725 pr_debug("copy failed\n"); 726 726 return err; ··· 729 729 if (memchr_inv(ucmd.reserved, 0, sizeof(ucmd.reserved))) 730 730 return -EOPNOTSUPP; 731 731 732 - if (ucmd.comp_mask || ucmd.reserved1) 732 + if (ucmd.reserved1) 733 733 return -EOPNOTSUPP; 734 734 735 735 if (init_attr->qp_type != IB_QPT_RAW_PACKET) { ··· 866 866 867 867 qp->state = IB_QPS_RESET; 868 868 869 - err = ib_copy_validate_udata_in(udata, wq, comp_mask); 869 + err = ib_copy_validate_udata_in_cm(udata, wq, comp_mask, 0); 870 870 if (err) 871 871 goto err; 872 872 873 - if (wq.comp_mask || wq.reserved[0] || wq.reserved[1] || 874 - wq.reserved[2]) { 873 + if (wq.reserved[0] || wq.reserved[1] || wq.reserved[2]) { 875 874 pr_debug("user command isn't supported\n"); 876 875 err = -EOPNOTSUPP; 877 876 goto err; ··· 4234 4235 enum ib_wq_state cur_state, new_state; 4235 4236 int err; 4236 4237 4237 - err = ib_copy_validate_udata_in(udata, ucmd, reserved); 4238 + err = ib_copy_validate_udata_in_cm(udata, ucmd, reserved, 0); 4238 4239 if (err) 4239 4240 return err; 4240 4241 4241 - if (ucmd.comp_mask || ucmd.reserved) 4242 + if (ucmd.reserved) 4242 4243 return -EOPNOTSUPP; 4243 4244 4244 4245 if (wq_attr_mask & IB_WQ_FLAGS)
+2 -2
drivers/infiniband/hw/mlx5/qp.c
··· 5611 5611 void *rqc; 5612 5612 void *in; 5613 5613 5614 - err = ib_copy_validate_udata_in(udata, ucmd, reserved); 5614 + err = ib_copy_validate_udata_in_cm(udata, ucmd, reserved, 0); 5615 5615 if (err) 5616 5616 return err; 5617 5617 5618 - if (ucmd.comp_mask || ucmd.reserved) 5618 + if (ucmd.reserved) 5619 5619 return -EOPNOTSUPP; 5620 5620 5621 5621 inlen = MLX5_ST_SZ_BYTES(modify_rq_in);