diff mbox series

mpi3mr: correct a test in mpi3mr_sas_port_add

Message ID 20240627074827.13672-1-thenzl@redhat.com
State New
Headers show
Series mpi3mr: correct a test in mpi3mr_sas_port_add | expand

Commit Message

Tomas Henzl June 27, 2024, 7:48 a.m. UTC
The test for a possible shift overflow is not correct. Fix it by
replacing the '>' with a '>='.


Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/scsi/mpi3mr/mpi3mr_transport.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Martin K. Petersen July 5, 2024, 2:48 a.m. UTC | #1
Tomas,

> The test for a possible shift overflow is not correct. Fix it by
> replacing the '>' with a '>='.

Applied to 6.11/scsi-staging, thanks!
diff mbox series

Patch

diff --git a/drivers/scsi/mpi3mr/mpi3mr_transport.c b/drivers/scsi/mpi3mr/mpi3mr_transport.c
index 82aa4e418c5a..a454276fcc4c 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_transport.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_transport.c
@@ -1353,7 +1353,7 @@  static struct mpi3mr_sas_port *mpi3mr_sas_port_add(struct mpi3mr_ioc *mrioc,
 	mpi3mr_sas_port_sanity_check(mrioc, mr_sas_node,
 	    mr_sas_port->remote_identify.sas_address, hba_port);
 
-	if (mr_sas_node->num_phys > sizeof(mr_sas_port->phy_mask) * 8)
+	if (mr_sas_node->num_phys >= sizeof(mr_sas_port->phy_mask) * 8)
 		ioc_info(mrioc, "max port count %u could be too high\n",
 		    mr_sas_node->num_phys);
 
@@ -1363,7 +1363,7 @@  static struct mpi3mr_sas_port *mpi3mr_sas_port_add(struct mpi3mr_ioc *mrioc,
 		    (mr_sas_node->phy[i].hba_port != hba_port))
 			continue;
 
-		if (i > sizeof(mr_sas_port->phy_mask) * 8) {
+		if (i >= sizeof(mr_sas_port->phy_mask) * 8) {
 			ioc_warn(mrioc, "skipping port %u, max allowed value is %zu\n",
 			    i, sizeof(mr_sas_port->phy_mask) * 8);
 			goto out_fail;