Fix the usnic and thw qib driver to err when QP creation flags are provided.

Signed-off-by: Or Gerlitz <[email protected]>
---
 drivers/infiniband/hw/qib/qib_qp.c           |    3 ++-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c |    3 +++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/infiniband/hw/qib/qib_qp.c 
b/drivers/infiniband/hw/qib/qib_qp.c
index 0cad0c4..7fcc150 100644
--- a/drivers/infiniband/hw/qib/qib_qp.c
+++ b/drivers/infiniband/hw/qib/qib_qp.c
@@ -985,7 +985,8 @@ struct ib_qp *qib_create_qp(struct ib_pd *ibpd,
        struct ib_qp *ret;
 
        if (init_attr->cap.max_send_sge > ib_qib_max_sges ||
-           init_attr->cap.max_send_wr > ib_qib_max_qp_wrs) {
+           init_attr->cap.max_send_wr > ib_qib_max_qp_wrs ||
+           init_attr->create_flags) {
                ret = ERR_PTR(-EINVAL);
                goto bail;
        }
diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c 
b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
index d48d2c0..53bd6a2 100644
--- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
+++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
@@ -466,6 +466,9 @@ struct ib_qp *usnic_ib_create_qp(struct ib_pd *pd,
        ucontext = to_uucontext(pd->uobject->context);
        us_ibdev = to_usdev(pd->device);
 
+       if (init_attr->create_flags)
+               return ERR_PTR(-EINVAL);
+
        err = ib_copy_from_udata(&cmd, udata, sizeof(cmd));
        if (err) {
                usnic_err("%s: cannot copy udata for create_qp\n",
-- 
1.7.1

Cc: Mike Marciniszyn <[email protected]>
Cc: Upinder Malhi <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to