mirror of https://gitee.com/openkylin/linux.git
RDMA/uverbs: Ensure validity of current QP state value
The QP state is internal enum which is checked at the driver level by calling to ib_modify_qp_is_ok(). Move this check closer to user and leave kernel users to be checked by compiler. Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
75a4598209
commit
88de869bbe
|
@ -1991,6 +1991,13 @@ static int modify_qp(struct ib_uverbs_file *file,
|
||||||
goto release_qp;
|
goto release_qp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((cmd->base.attr_mask & IB_QP_CUR_STATE &&
|
||||||
|
cmd->base.cur_qp_state > IB_QPS_ERR) ||
|
||||||
|
cmd->base.qp_state > IB_QPS_ERR) {
|
||||||
|
ret = -EINVAL;
|
||||||
|
goto release_qp;
|
||||||
|
}
|
||||||
|
|
||||||
attr->qp_state = cmd->base.qp_state;
|
attr->qp_state = cmd->base.qp_state;
|
||||||
attr->cur_qp_state = cmd->base.cur_qp_state;
|
attr->cur_qp_state = cmd->base.cur_qp_state;
|
||||||
attr->path_mtu = cmd->base.path_mtu;
|
attr->path_mtu = cmd->base.path_mtu;
|
||||||
|
|
Loading…
Reference in New Issue