Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1349651imm; Tue, 2 Oct 2018 06:56:24 -0700 (PDT) X-Google-Smtp-Source: ACcGV62BIvP2BaXLtvcQS8eVrPi1bZkQk+LwcVsC8zcMBFarD/9WBW3ZvUqCV+A//4nbu8xTnYjm X-Received: by 2002:a63:dc41:: with SMTP id f1-v6mr13980925pgj.214.1538488584254; Tue, 02 Oct 2018 06:56:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538488584; cv=none; d=google.com; s=arc-20160816; b=PowFp0VkxKq+OK7PAwof+nB4VUjXlKRKyo9Ml1EWze8T6X2b+qvkxRDfVGEivGQNRW XZ76w3fr50/uORZsnHtahpLRNG3GXaAkN3i4IuXOhl0+S59iIOJFVhkyG8rzmLFbGhNR 8cGh4IXJmMpWtlD3MyXXTj2wGlHlKx8evTOoH9fnb3J3fdLfsH4MpZyni6HV0JVyYhgO c1j/Nd0F6a6nZ1sXdBO9mv3nRSq9FFtZBQIMpPUqzsEvJeli4bYZtqwUyeeQRbACaO+T 61p/+eQD8P2cft8hmHFFYIJ70SKOWaB9x5PVCWDi7P1urlWbsKUSFi8Bjiy2xaeiFmR8 EnJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from; bh=dU0l/U0UYghUPqVoEh/DS6U6XyEQON7Xn8LtfgFwQcs=; b=RSE94KvZNWQsYQZ7+zme8nw9fuBD0zuKF4FJoWy04EyAd5imsJ44+OHtJEC6laIHLM 0IrvlQm3kzZZ0DxJS3Sx29IRwmCXwFlqRNV1pcf+L9nOjiRcUiMPqGprv5DWKHeOEEZt 80QxQ74fRGQ8W1LDylsycWhoKp0pxeaaeM2JrtqY7teTAkcOKhQ3Le53Pck7JscJDc4b AFyyW3w8OL3tdmDoPqkCINoerzo+6nNKET8YyKi3kgPeljcWI3CteiTiO2wG+/MimCjw TCMLyWJX1DNOaM8F7V2SaEmCEb5ayTeh4SXQ43heXIpcHN2VQbT00eHdItU4OZlMydMq exlQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 18-v6si14657743pgx.173.2018.10.02.06.56.09; Tue, 02 Oct 2018 06:56:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731622AbeJBUiq (ORCPT + 99 others); Tue, 2 Oct 2018 16:38:46 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:34328 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729495AbeJBUPQ (ORCPT ); Tue, 2 Oct 2018 16:15:16 -0400 Received: from localhost (24-104-73-23-ip-static.hfc.comcastbusiness.net [24.104.73.23]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id EE21C5AA; Tue, 2 Oct 2018 13:31:53 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tarick Bedeir , Leon Romanovsky , Jason Gunthorpe , Sasha Levin Subject: [PATCH 4.14 024/137] IB/mlx4: Test port number before querying type. Date: Tue, 2 Oct 2018 06:23:45 -0700 Message-Id: <20181002132500.192249010@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181002132458.446916963@linuxfoundation.org> References: <20181002132458.446916963@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Tarick Bedeir [ Upstream commit f1228867adaf8890826f2b59e4caddb1c5cc2df7 ] rdma_ah_find_type() can reach into ib_device->port_immutable with a potentially out-of-bounds port number, so check that the port number is valid first. Fixes: 44c58487d51a ("IB/core: Define 'ib' and 'roce' rdma_ah_attr types") Signed-off-by: Tarick Bedeir Reviewed-by: Leon Romanovsky Signed-off-by: Jason Gunthorpe Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/infiniband/hw/mlx4/qp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c @@ -4014,9 +4014,9 @@ static void to_rdma_ah_attr(struct mlx4_ u8 port_num = path->sched_queue & 0x40 ? 2 : 1; memset(ah_attr, 0, sizeof(*ah_attr)); - ah_attr->type = rdma_ah_find_type(&ibdev->ib_dev, port_num); if (port_num == 0 || port_num > dev->caps.num_ports) return; + ah_attr->type = rdma_ah_find_type(&ibdev->ib_dev, port_num); if (ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) rdma_ah_set_sl(ah_attr, ((path->sched_queue >> 3) & 0x7) |