Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1373086imm; Tue, 2 Oct 2018 07:15:16 -0700 (PDT) X-Google-Smtp-Source: ACcGV621NtsETLKsI1lwYqxYo/kEnV5y+utR8QuTnufXZLZaLsq6uDZXhnDAecqLObHzEAwfIJWE X-Received: by 2002:a63:f14a:: with SMTP id o10-v6mr14489140pgk.339.1538489716142; Tue, 02 Oct 2018 07:15:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538489716; cv=none; d=google.com; s=arc-20160816; b=VzH2x4EGIC7ONEJk7H/vMIEy414vnn+18s97Sfuo7E150l9mxoPk32lewhvZ7YVdia cm67QaPZOmTi2OADYpPr76wXfBTl03iabj12NEGwk6Y5uEh8LW6tV8KnnVk1jhXKT3xx iHNv47+RtaIs0DPMvoTKVtwFncR0C6S9xJFTe8MO7bjRqWZJGYCKz0IJNWpogI31e2Ay 3lKtB/wDHszjdsciiiJrOkNXuhOwzM8/HMyoG8RtHpIje1Ihr+mErQu2JwbULcRATlAn KF5e4N2Jev99n2f5ZqIS50tDvTluwwi3CMk4pO1hTimMmfKUrY54AF8HKNVUYyNbsfnD xHvA== 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=gjDBLbee6oM6PbTyeK5uS2f5GaWG3tV2RweSiOAB1hY=; b=tlnVmy8Bty9sgYMm1PXfNk9CFNj9AlrVf1ZLN6wvRvtDTHrfEBt9SeWj9kubYvs6l1 Q/P4Pi5B0In2v76oUz54fDrv6ZwylfOPoY6uFU4QmW9L5eQhGWGvHQOCm5G1b1LmL5t7 S0XRafFpwz5oQfVP6V5ODHk/JC1iym1b5xMvedm9NQMtmc5eICJcFsMj39wPzhd81HYF ExZ2XWOWmv7fEHRIfrKVVYnhh2m0ElyZDupueSjGvOBaRh4Rh4/oz0wlPxrZl5piQCBP igqtXHA12TOgHj4eXHeI/kKZYWbZKy+N47+UC++gM5as4F73Xx9z2in9oMUDKl9zKm7/ SmOA== 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 y1-v6si11269892pgf.78.2018.10.02.07.15.00; Tue, 02 Oct 2018 07:15:16 -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 S1728639AbeJBU5r (ORCPT + 99 others); Tue, 2 Oct 2018 16:57:47 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:60042 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727802AbeJBUKS (ORCPT ); Tue, 2 Oct 2018 16:10:18 -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 C3989BF0; Tue, 2 Oct 2018 13:26:56 +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.18 034/228] IB/mlx4: Test port number before querying type. Date: Tue, 2 Oct 2018 06:22:11 -0700 Message-Id: <20181002132501.412167541@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181002132459.032960735@linuxfoundation.org> References: <20181002132459.032960735@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.18-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 @@ -4047,9 +4047,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) |