[PATCH v2] scsi: Prefer kmalloc_array over kmalloc involving dynamic size calculations
From: Bhanu Seshu Kumar Valluri
Date: Tue Oct 07 2025 - 02:54:07 EST
As a best practice use kmalloc_array to safely calculate dynamic object
sizes without overflow.
Acked-by: Don Brace <don.brace@xxxxxxxxxxxxx>
Signed-off-by: Bhanu Seshu Kumar Valluri <bhanuseshukumar@xxxxxxxxx>
---
Note: The patch is tested for compilation.
Change log:
v1->v2:
Updated commit message to refelect correct intention of the patch to
address James Bottomley review in v1.
v1 Link : https://lore.kernel.org/all/20251001113935.52596-1-bhanuseshukumar@xxxxxxxxx/
drivers/scsi/smartpqi/smartpqi_init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 03c97e60d36f..19b0075eb256 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -8936,7 +8936,7 @@ static int pqi_host_alloc_mem(struct pqi_ctrl_info *ctrl_info,
if (sg_count == 0 || sg_count > PQI_HOST_MAX_SG_DESCRIPTORS)
goto out;
- host_memory_descriptor->host_chunk_virt_address = kmalloc(sg_count * sizeof(void *), GFP_KERNEL);
+ host_memory_descriptor->host_chunk_virt_address = kmalloc_array(sg_count, sizeof(void *), GFP_KERNEL);
if (!host_memory_descriptor->host_chunk_virt_address)
goto out;
--
2.34.1