Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp1144737pxv; Fri, 9 Jul 2021 19:25:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy5Rkw3gfs5vam9psiXbrfNrx6PVU+sITXmxQk3V9bgUvFf7dvJABhMvMA6o+dTSdPUMmcY X-Received: by 2002:aa7:d1c4:: with SMTP id g4mr23398563edp.382.1625883950415; Fri, 09 Jul 2021 19:25:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625883950; cv=none; d=google.com; s=arc-20160816; b=wzovL8CXJoiq88PSxw6TTmMKooVDAi75WMGJRLSi8q8KcMFMKxFtV9HNrWfOMKOPkv 2rVXTIK6jbhbj72Ld8J4bXzf83sT4TKL2HhXpfWueuFeNO7sILb0dFej3MOo39VXFidB zOrRGypNueFzV179hCu7Ay1nE8pSzzshLrDk8lxYUxANBWonAfYgDYjTbuBypYpiG0TM BE+SPCKTNssstN5EByvbxq1dz/dAiuOh4VqFFACFGnMpS5WdQWZ0fAM1/OQjz4TEFIHF s/xXrBnBE6tbSX0fpuh5CVgsu5+Dhw/jQktujkz9Hojod2YnEmROe1JBVh0MC65xC+G/ M5fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9IoyycmawjEBu/UhCHMUWuUi3YHjhtkEwwKXLBes3SU=; b=jJI5nkvhItQJuMWjfMs65DttjiGdfzvBIn6S6+mMy+wpuyfGWLHqIYpyrcpMh1OgyS BZCBWi2qNLXNykP28jO2taYWc5qVaIeu5TCleZrNmHnkSOTxzccLZsqp4jCrGp+/UV1n bBDXumZfrijAtVehlouq40ymu15Fno9B7Btbapevpq87vr2cerwI6+ZBoadgHg8GuoxC Oozst0h7o/aZy10nJdOKZKqEa3ZURIRcmiTpDMUS25thrYXLZF2Jbc5Tb2xY0DH9Gc5V S0VkT8WoRJizY1pOwLANoEVMH21a/SRMCCpH5MM0/WSr+IEZfhc5TlzsJDhgTrElMyxx pG+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=n1uKbaSp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u9si10607413edr.171.2021.07.09.19.25.27; Fri, 09 Jul 2021 19:25:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=n1uKbaSp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233327AbhGJC0c (ORCPT + 99 others); Fri, 9 Jul 2021 22:26:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:42146 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233119AbhGJCZh (ORCPT ); Fri, 9 Jul 2021 22:25:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B4F67613E4; Sat, 10 Jul 2021 02:22:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625883772; bh=yGYfh+3qCBG2i9aZ8O169i1sTngnhb3nxpRtQhWhz7c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n1uKbaSpsY4k+ajyTrsawtp1hN7N343GsZ1SRVklnvrbxuqJFaFJZHqSv5MCVxodN n+g6T0EGKPzEE05/ki5nkDRMfQJPIEhmo++uBctD0A+KMoxtmBIMJ0aF49Rwq64TZd mMSLAQMBaId/w3X638M97chKJpearNjuz1K3T8PGZ/7xySCMWcju7JKrI0Cjh18uUp fr1XpsG2WadIoC71Sl9HSSSYVrmfN1yRMCmstDU77LuzP/y5zyb3Oxmo6aD4UyjGcC VQkk6xtzO7MokZOmrkjWItSlRsyvEd0Ccp8Ex8KW57n+W+2UZfwIDcZEur30pjWBNs vt0r02lDu5Scg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mike Christie , Lee Duncan , "Martin K . Petersen" , Sasha Levin , linux-scsi@vger.kernel.org Subject: [PATCH AUTOSEL 5.12 042/104] scsi: iscsi: Fix shost->max_id use Date: Fri, 9 Jul 2021 22:20:54 -0400 Message-Id: <20210710022156.3168825-42-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210710022156.3168825-1-sashal@kernel.org> References: <20210710022156.3168825-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mike Christie [ Upstream commit bdd4aad7ff92ae39c2e93c415bb6761cb8b584da ] The iscsi offload drivers are setting the shost->max_id to the max number of sessions they support. The problem is that max_id is not the max number of targets but the highest identifier the targets can have. To use it to limit the number of targets we need to set it to max sessions - 1, or we can end up with a session we might not have preallocated resources for. Link: https://lore.kernel.org/r/20210525181821.7617-15-michael.christie@oracle.com Reviewed-by: Lee Duncan Signed-off-by: Mike Christie Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/be2iscsi/be_main.c | 4 ++-- drivers/scsi/bnx2i/bnx2i_iscsi.c | 2 +- drivers/scsi/cxgbi/libcxgbi.c | 4 ++-- drivers/scsi/qedi/qedi_main.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c index e9658a67d9da..09d2f8351539 100644 --- a/drivers/scsi/be2iscsi/be_main.c +++ b/drivers/scsi/be2iscsi/be_main.c @@ -416,7 +416,7 @@ static struct beiscsi_hba *beiscsi_hba_alloc(struct pci_dev *pcidev) "beiscsi_hba_alloc - iscsi_host_alloc failed\n"); return NULL; } - shost->max_id = BE2_MAX_SESSIONS; + shost->max_id = BE2_MAX_SESSIONS - 1; shost->max_channel = 0; shost->max_cmd_len = BEISCSI_MAX_CMD_LEN; shost->max_lun = BEISCSI_NUM_MAX_LUN; @@ -5318,7 +5318,7 @@ static int beiscsi_enable_port(struct beiscsi_hba *phba) /* Re-enable UER. If different TPE occurs then it is recoverable. */ beiscsi_set_uer_feature(phba); - phba->shost->max_id = phba->params.cxns_per_ctrl; + phba->shost->max_id = phba->params.cxns_per_ctrl - 1; phba->shost->can_queue = phba->params.ios_per_ctrl; ret = beiscsi_init_port(phba); if (ret < 0) { diff --git a/drivers/scsi/bnx2i/bnx2i_iscsi.c b/drivers/scsi/bnx2i/bnx2i_iscsi.c index b6c1da46d582..197aca76a69d 100644 --- a/drivers/scsi/bnx2i/bnx2i_iscsi.c +++ b/drivers/scsi/bnx2i/bnx2i_iscsi.c @@ -791,7 +791,7 @@ struct bnx2i_hba *bnx2i_alloc_hba(struct cnic_dev *cnic) return NULL; shost->dma_boundary = cnic->pcidev->dma_mask; shost->transportt = bnx2i_scsi_xport_template; - shost->max_id = ISCSI_MAX_CONNS_PER_HBA; + shost->max_id = ISCSI_MAX_CONNS_PER_HBA - 1; shost->max_channel = 0; shost->max_lun = 512; shost->max_cmd_len = 16; diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c index f078b3c4e083..ecb134b4699f 100644 --- a/drivers/scsi/cxgbi/libcxgbi.c +++ b/drivers/scsi/cxgbi/libcxgbi.c @@ -337,7 +337,7 @@ void cxgbi_hbas_remove(struct cxgbi_device *cdev) EXPORT_SYMBOL_GPL(cxgbi_hbas_remove); int cxgbi_hbas_add(struct cxgbi_device *cdev, u64 max_lun, - unsigned int max_id, struct scsi_host_template *sht, + unsigned int max_conns, struct scsi_host_template *sht, struct scsi_transport_template *stt) { struct cxgbi_hba *chba; @@ -357,7 +357,7 @@ int cxgbi_hbas_add(struct cxgbi_device *cdev, u64 max_lun, shost->transportt = stt; shost->max_lun = max_lun; - shost->max_id = max_id; + shost->max_id = max_conns - 1; shost->max_channel = 0; shost->max_cmd_len = SCSI_MAX_VARLEN_CDB_SIZE; diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c index 69c5b5ee2169..b33eff9ea80b 100644 --- a/drivers/scsi/qedi/qedi_main.c +++ b/drivers/scsi/qedi/qedi_main.c @@ -642,7 +642,7 @@ static struct qedi_ctx *qedi_host_alloc(struct pci_dev *pdev) goto exit_setup_shost; } - shost->max_id = QEDI_MAX_ISCSI_CONNS_PER_HBA; + shost->max_id = QEDI_MAX_ISCSI_CONNS_PER_HBA - 1; shost->max_channel = 0; shost->max_lun = ~0; shost->max_cmd_len = 16; -- 2.30.2