RDMA: Cleanup undesired pd->uobject usage
Drivers should be using udata to determine if a method is invoked from user space or kernel space. A pd does not necessarily say a different objects is kernel or user. Transforming the tests to use udata eliminates a large number of uobject references from the drivers. Signed-off-by: Shamir Rabinovitch <shamir.rabinovitch@oracle.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:

committed by
Jason Gunthorpe

parent
af8d70375d
commit
e00b64f7c5
@@ -1157,7 +1157,8 @@ static void ocrdma_del_qpn_map(struct ocrdma_dev *dev, struct ocrdma_qp *qp)
|
||||
}
|
||||
|
||||
static int ocrdma_check_qp_params(struct ib_pd *ibpd, struct ocrdma_dev *dev,
|
||||
struct ib_qp_init_attr *attrs)
|
||||
struct ib_qp_init_attr *attrs,
|
||||
struct ib_udata *udata)
|
||||
{
|
||||
if ((attrs->qp_type != IB_QPT_GSI) &&
|
||||
(attrs->qp_type != IB_QPT_RC) &&
|
||||
@@ -1205,7 +1206,7 @@ static int ocrdma_check_qp_params(struct ib_pd *ibpd, struct ocrdma_dev *dev,
|
||||
return -EINVAL;
|
||||
}
|
||||
/* unprivileged user space cannot create special QP */
|
||||
if (ibpd->uobject && attrs->qp_type == IB_QPT_GSI) {
|
||||
if (udata && attrs->qp_type == IB_QPT_GSI) {
|
||||
pr_err
|
||||
("%s(%d) Userspace can't create special QPs of type=0x%x\n",
|
||||
__func__, dev->id, attrs->qp_type);
|
||||
@@ -1362,7 +1363,7 @@ struct ib_qp *ocrdma_create_qp(struct ib_pd *ibpd,
|
||||
struct ocrdma_create_qp_ureq ureq;
|
||||
u16 dpp_credit_lmt, dpp_offset;
|
||||
|
||||
status = ocrdma_check_qp_params(ibpd, dev, attrs);
|
||||
status = ocrdma_check_qp_params(ibpd, dev, attrs, udata);
|
||||
if (status)
|
||||
goto gen_err;
|
||||
|
||||
|
Reference in New Issue
Block a user