hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/infiniband/core/uverbs_cmd.c
....@@ -1842,8 +1842,13 @@
18421842 attr->path_mtu = cmd->base.path_mtu;
18431843 if (cmd->base.attr_mask & IB_QP_PATH_MIG_STATE)
18441844 attr->path_mig_state = cmd->base.path_mig_state;
1845
- if (cmd->base.attr_mask & IB_QP_QKEY)
1845
+ if (cmd->base.attr_mask & IB_QP_QKEY) {
1846
+ if (cmd->base.qkey & IB_QP_SET_QKEY && !capable(CAP_NET_RAW)) {
1847
+ ret = -EPERM;
1848
+ goto release_qp;
1849
+ }
18461850 attr->qkey = cmd->base.qkey;
1851
+ }
18471852 if (cmd->base.attr_mask & IB_QP_RQ_PSN)
18481853 attr->rq_psn = cmd->base.rq_psn;
18491854 if (cmd->base.attr_mask & IB_QP_SQ_PSN)
....@@ -3773,7 +3778,7 @@
37733778 IB_USER_VERBS_EX_CMD_MODIFY_CQ,
37743779 ib_uverbs_ex_modify_cq,
37753780 UAPI_DEF_WRITE_I(struct ib_uverbs_ex_modify_cq),
3776
- UAPI_DEF_METHOD_NEEDS_FN(create_cq))),
3781
+ UAPI_DEF_METHOD_NEEDS_FN(modify_cq))),
37773782
37783783 DECLARE_UVERBS_OBJECT(
37793784 UVERBS_OBJECT_DEVICE,