Progress the uAPI work by shifting nearly all drivers to use ib_copy_validate_udata_in() and its variations.
These helpers are easier to use and enforce a tighter uAPI protocol for the udata. Signed-off-by: Jason Gunthorpe <[email protected]> Jason Gunthorpe (16): RDMA: Consolidate patterns with offsetofend() to ib_copy_validate_udata_in() RDMA: Consolidate patterns with offsetof() to ib_copy_validate_udata_in() RDMA: Consolidate patterns with sizeof() to ib_copy_validate_udata_in() RDMA: Use ib_copy_validate_udata_in() for implicit full structs RDMA/pvrdma: Use ib_copy_validate_udata_in() for srq RDMA/mlx5: Use ib_copy_validate_udata_in() RDMA/mlx4: Use ib_copy_validate_udata_in() RDMA/mlx4: Use ib_copy_validate_udata_in() for QP RDMA/hns: Use ib_copy_validate_udata_in() RDMA/efa: Use ib_copy_validate_udata_in_cm() RDMA: Use ib_copy_validate_udata_in_cm() for zero comp_mask RDMA/mlx5: Pull comp_mask validation into ib_copy_validate_udata_in_cm() RDMA/hns: Add missing comp_mask check in create_qp RDMA/irdma: Add missing comp_mask check in alloc_ucontext RDMA: Remove redundant = {} for udata req structs RDMA/hns: Remove the duplicate calls to ib_copy_validate_udata_in() drivers/infiniband/hw/efa/efa_verbs.c | 69 ++++------------ drivers/infiniband/hw/erdma/erdma_verbs.c | 6 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 16 +--- drivers/infiniband/hw/hns/hns_roce_main.c | 6 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 10 +-- drivers/infiniband/hw/hns/hns_roce_srq.c | 54 ++++-------- .../infiniband/hw/ionic/ionic_controlpath.c | 6 +- drivers/infiniband/hw/irdma/verbs.c | 12 +-- drivers/infiniband/hw/mana/cq.c | 11 +-- drivers/infiniband/hw/mana/qp.c | 29 +++---- drivers/infiniband/hw/mana/wq.c | 12 +-- drivers/infiniband/hw/mlx4/cq.c | 10 +-- drivers/infiniband/hw/mlx4/main.c | 9 +- drivers/infiniband/hw/mlx4/qp.c | 82 ++++--------------- drivers/infiniband/hw/mlx4/srq.c | 5 +- drivers/infiniband/hw/mlx5/cq.c | 14 ++-- drivers/infiniband/hw/mlx5/main.c | 2 +- drivers/infiniband/hw/mlx5/mr.c | 11 +-- drivers/infiniband/hw/mlx5/qp.c | 66 ++++----------- drivers/infiniband/hw/mlx5/srq.c | 17 +--- drivers/infiniband/hw/mthca/mthca_provider.c | 27 +++--- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 14 ++-- drivers/infiniband/hw/qedr/verbs.c | 42 ++++------ drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 5 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 6 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 6 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 13 +-- drivers/infiniband/sw/siw/siw_verbs.c | 6 +- 29 files changed, 176 insertions(+), 392 deletions(-) base-commit: eb15cffa15201bd53d1ac296645aa2bc5f726841 -- 2.43.0
