Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp1147322pxv; Fri, 9 Jul 2021 19:31:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQYUjWTQXzi8Og/AXqGui3SGM6Tdl2s62K48b6ov6qnrsf7LQ/vJjSxvM+Ostyhoho/ptY X-Received: by 2002:a17:907:9687:: with SMTP id hd7mr39941643ejc.339.1625884273725; Fri, 09 Jul 2021 19:31:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625884273; cv=none; d=google.com; s=arc-20160816; b=frA8jS09EnC+WwvZZYXt7+CX70w3/8skIWlhJoqi5t+faUVGSG/GI7sYegasZJyuL1 iHx33k0CI5bDEj+A2/WOI0hr69VwpBPFuWnWGPSsQjfcA82OjyinYaZapZetGKg4hXBj uQ1yqmnj3Y312cNWLyhsP41DB2ex03TPSPn/TIR8ux7tNpDKl4s9mTR7GEOjKgk8JQuX CpYWSLHTxWB8L289MdG/Kgd72pWxIWsMDRRoJnR8sONQzkBUwmZ9d5U/a9dA7NQpq6FD u+rCmald6piK05JY/8VGdGJ71vBmsFv9yp5jh90Kc8U5X4Z2EzWYdWxMOb0mb0ySc2HX dzhQ== 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=t7ZyHk/eTN1fZqwkNYA+cNSEImhwlQU7ySU41FjLZ2c=; b=m6baeTFLFi3AOirvUwYyD3GmbWCkbB+WPgaT6C613AiGPdPtiBYtQJosxFAWxJE9mi OD+zpFqK1J5XiJ5R5Lkt2quQPKyWVGQC0ip/WSxTdSnKPTAWNrlHCva8wqcuWNMeuoyX RA3A0je9n53O77ayavGwBCTURK1GXSGTjq9HPp1P3TgWdYu9/NOU/ISD0/C1Wx7M6m8k jYAFzS3637cjSnappVnVsBUZZZALZTLIsrMUdboJW0D3GuzlBBDMMQoQt6s2ebITookQ X4mYWlMbqbfkzfjdantjhaFlIbZbJYhXaxNGMDkgXq8jqJpP+MLsfHNngYA3ZpxBkqxs wKnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=TEwCQkOb; 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 s11si9614547edh.596.2021.07.09.19.30.50; Fri, 09 Jul 2021 19:31:13 -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=TEwCQkOb; 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 S234267AbhGJCcp (ORCPT + 99 others); Fri, 9 Jul 2021 22:32:45 -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 S232299AbhGJC3B (ORCPT ); Fri, 9 Jul 2021 22:29:01 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 13D4561421; Sat, 10 Jul 2021 02:25:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625883920; bh=bzc/ABxpMwoYv0TSB1lhRvRFIJmSPp8+RUpG31QUD6w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TEwCQkObbGJ8xGEMgbwk1PIf80AaIbnFJCvIwEgVx5sM3E7Ar1EtYD3z6KU0UanlM kRxO6qs9r91NrLPeiWzPe0ILkGXR+N2SrJV3QLw9VG3o3D5DUkCCoEijYLSuOnkCM1 fpjmbWvfJXKPdFfljst16rku4purlmtRnbQ1nzZM4KWruj8fQqS+xU97rUbrqS0vpC HxSGtWY7QF8iKRIpcFhl8j3njX0o9Xhgv3ZjZjaZYSklZ3FqaRaRNc6htzHsIS3zs3 zcd/fEt0MlhndgJxT84peSiHS9yAbPxPhgDka89h+X3NLYQczrmQj0vQs8NPc2jsMP 9XkF+kwY7OZGw== 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.10 39/93] scsi: iscsi: Fix shost->max_id use Date: Fri, 9 Jul 2021 22:23:33 -0400 Message-Id: <20210710022428.3169839-39-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210710022428.3169839-1-sashal@kernel.org> References: <20210710022428.3169839-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 5c3513a4b450..1643e2225692 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 fdd446765311..21efc73b87be 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