]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/infiniband/core/uverbs_cmd.c
IB/core: Enforce PKey security on QPs
[mirror_ubuntu-bionic-kernel.git] / drivers / infiniband / core / uverbs_cmd.c
index 70b7fb156414da3b2fa75ae98d1c66f965a73d3e..0ad3b05405d8a1cd2e021745f98861a993abb119 100644 (file)
@@ -1508,6 +1508,10 @@ static int create_qp(struct ib_uverbs_file *file,
        }
 
        if (cmd->qp_type != IB_QPT_XRC_TGT) {
+               ret = ib_create_qp_security(qp, device);
+               if (ret)
+                       goto err_cb;
+
                qp->real_qp       = qp;
                qp->device        = device;
                qp->pd            = pd;
@@ -2002,14 +2006,17 @@ static int modify_qp(struct ib_uverbs_file *file,
                        if (ret)
                                goto release_qp;
                }
-               ret = qp->device->modify_qp(qp, attr,
+               ret = ib_security_modify_qp(qp,
+                                           attr,
                                            modify_qp_mask(qp->qp_type,
                                                           cmd->base.attr_mask),
                                            udata);
        } else {
-               ret = ib_modify_qp(qp, attr,
-                                  modify_qp_mask(qp->qp_type,
-                                                 cmd->base.attr_mask));
+               ret = ib_security_modify_qp(qp,
+                                           attr,
+                                           modify_qp_mask(qp->qp_type,
+                                                          cmd->base.attr_mask),
+                                           NULL);
        }
 
 release_qp: