RDMA/core: Remove protection from wrong in-kernel API usage
authorLeon Romanovsky <leonro@nvidia.com>
Tue, 3 Aug 2021 18:20:34 +0000 (21:20 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 3 Aug 2021 18:26:18 +0000 (15:26 -0300)
The ib_create_named_qp() is kernel verb that is not used for user supplied
attributes. In such case, it is ULP responsibility to provide valid QP
attributes.

In-kernel API shouldn't check it, exactly like other functions that don't
check device capabilities.

Link: https://lore.kernel.org/r/b9b9e981d1af148b750750196e686199dbbf61f8.1628014762.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/verbs.c

index 635642a..2090f3c 100644 (file)
@@ -1219,16 +1219,6 @@ struct ib_qp *ib_create_named_qp(struct ib_pd *pd,
        struct ib_qp *qp;
        int ret;
 
-       if (qp_init_attr->rwq_ind_tbl &&
-           (qp_init_attr->recv_cq ||
-           qp_init_attr->srq || qp_init_attr->cap.max_recv_wr ||
-           qp_init_attr->cap.max_recv_sge))
-               return ERR_PTR(-EINVAL);
-
-       if ((qp_init_attr->create_flags & IB_QP_CREATE_INTEGRITY_EN) &&
-           !(device->attrs.device_cap_flags & IB_DEVICE_INTEGRITY_HANDOVER))
-               return ERR_PTR(-EINVAL);
-
        /*
         * If the callers is using the RDMA API calculate the resources
         * needed for the RDMA READ/WRITE operations.