From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com ([134.134.136.31]:61358 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754381AbdGNOeL (ORCPT ); Fri, 14 Jul 2017 10:34:11 -0400 From: Mustafa Ismail To: mustafa.ismail@intel.com Cc: shiraz.saleem@intel.com, tatyana.e.nikolova@intel.com, "# v2 . 6 . 14+" Subject: [PATCH v2 1/2] RDMA/uverbs: Fix the check for port number Date: Fri, 14 Jul 2017 09:02:10 -0500 Message-Id: <1500040931-19400-2-git-send-email-mustafa.ismail@intel.com> In-Reply-To: <1500040931-19400-1-git-send-email-mustafa.ismail@intel.com> References: <1500040931-19400-1-git-send-email-mustafa.ismail@intel.com> Sender: stable-owner@vger.kernel.org List-ID: The port number is only valid if IB_QP_PORT is set in the mask. So only check port number if it is valid to prevent modify_qp from failing due to an invalid port number. Fixes: 5ecce4c9b17b("Check port number supplied by user verbs cmds") Cc: # v2.6.14+ Reviewed-by: Steve Wise Signed-off-by: Mustafa Ismail --- drivers/infiniband/core/uverbs_cmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c index 8ba9bfb..19de068 100644 --- a/drivers/infiniband/core/uverbs_cmd.c +++ b/drivers/infiniband/core/uverbs_cmd.c @@ -1935,7 +1935,8 @@ static int modify_qp(struct ib_uverbs_file *file, goto out; } - if (!rdma_is_port_valid(qp->device, cmd->base.port_num)) { + if ((cmd->base.attr_mask & IB_QP_PORT) && + !rdma_is_port_valid(qp->device, cmd->base.port_num)) { ret = -EINVAL; goto release_qp; } -- 2.7.4