[PATCH v2] scsi: Prefer kmalloc_array over kmalloc involving dynamic size calculations

Bhanu Seshu Kumar Valluri posted 1 patch 4 months ago
drivers/scsi/smartpqi/smartpqi_init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] scsi: Prefer kmalloc_array over kmalloc involving dynamic size calculations
Posted by Bhanu Seshu Kumar Valluri 4 months ago
As a best practice use kmalloc_array to safely calculate dynamic object
sizes without overflow.

Acked-by: Don Brace <don.brace@microchip.com>
Signed-off-by: Bhanu Seshu Kumar Valluri <bhanuseshukumar@gmail.com>
---
 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@gmail.com/
 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
Re: [PATCH v2] scsi: Prefer kmalloc_array over kmalloc involving dynamic size calculations
Posted by Bhanu Seshu Kumar Valluri 2 months, 2 weeks ago
On 07/10/25 12:23, Bhanu Seshu Kumar Valluri wrote:
> As a best practice use kmalloc_array to safely calculate dynamic object
> sizes without overflow.
> 
> Acked-by: Don Brace <don.brace@microchip.com>
> Signed-off-by: Bhanu Seshu Kumar Valluri <bhanuseshukumar@gmail.com>
> ---
>  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@gmail.com/
>  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;
>  

Hi,

I just wanted to check if you had a chance to review it or if any changes are needed from my side.

Regards,
Bhanu Seshu Kumar Valluri
Re: [PATCH v2] scsi: Prefer kmalloc_array over kmalloc involving dynamic size calculations
Posted by Martin K. Petersen 2 months, 1 week ago
Bhanu,

> I just wanted to check if you had a chance to review it or if any
> changes are needed from my side.

This patch was merged last month.

-- 
Martin K. Petersen