[PATCH] platform/x86/intel/pmc: use kcalloc() instead of kzalloc()

Qianfeng Rong posted 1 patch 1 month, 2 weeks ago
drivers/platform/x86/intel/pmc/tgl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] platform/x86/intel/pmc: use kcalloc() instead of kzalloc()
Posted by Qianfeng Rong 1 month, 2 weeks ago
Replace devm_kzalloc() with devm_kcalloc() in pmc_core_get_tgl_lpm_reqs().
As noted in the kernel documentation [1], open-coded multiplication in
allocator arguments is discouraged because it can lead to integer
overflow.

Using devm_kcalloc() provides built-in overflow protection, making the
memory allocation safer when calculating the allocation size compared
to explicit multiplication.

[1]: https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
---
 drivers/platform/x86/intel/pmc/tgl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/intel/pmc/tgl.c b/drivers/platform/x86/intel/pmc/tgl.c
index 02e731ed3391..fc5b4cacc1c6 100644
--- a/drivers/platform/x86/intel/pmc/tgl.c
+++ b/drivers/platform/x86/intel/pmc/tgl.c
@@ -273,8 +273,8 @@ void pmc_core_get_tgl_lpm_reqs(struct platform_device *pdev)
 
 	addr = (u32 *)out_obj->buffer.pointer;
 
-	lpm_req_regs = devm_kzalloc(&pdev->dev, lpm_size * sizeof(u32),
-				     GFP_KERNEL);
+	lpm_req_regs = devm_kcalloc(&pdev->dev, lpm_size, sizeof(u32),
+				    GFP_KERNEL);
 	if (!lpm_req_regs)
 		goto free_acpi_obj;
 
-- 
2.34.1
Re: [PATCH] platform/x86/intel/pmc: use kcalloc() instead of kzalloc()
Posted by Ilpo Järvinen 1 month ago
On Tue, 19 Aug 2025 21:51:55 +0800, Qianfeng Rong wrote:

> Replace devm_kzalloc() with devm_kcalloc() in pmc_core_get_tgl_lpm_reqs().
> As noted in the kernel documentation [1], open-coded multiplication in
> allocator arguments is discouraged because it can lead to integer
> overflow.
> 
> Using devm_kcalloc() provides built-in overflow protection, making the
> memory allocation safer when calculating the allocation size compared
> to explicit multiplication.
> 
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo-next branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-next branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] platform/x86/intel/pmc: use kcalloc() instead of kzalloc()
      commit: 55df384148396c0503cfc51a9c7177df6a423843

--
 i.
Re: [PATCH] platform/x86/intel/pmc: use kcalloc() instead of kzalloc()
Posted by David Box 1 month, 2 weeks ago
On Tue, Aug 19, 2025 at 09:51:55PM +0800, Qianfeng Rong wrote:
> Replace devm_kzalloc() with devm_kcalloc() in pmc_core_get_tgl_lpm_reqs().
> As noted in the kernel documentation [1], open-coded multiplication in
> allocator arguments is discouraged because it can lead to integer
> overflow.
> 
> Using devm_kcalloc() provides built-in overflow protection, making the
> memory allocation safer when calculating the allocation size compared
> to explicit multiplication.
> 
> [1]: https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
> 
> Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>

Acked-by: David E. Box <david.e.box@intel.com>

Thanks

> ---
>  drivers/platform/x86/intel/pmc/tgl.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel/pmc/tgl.c b/drivers/platform/x86/intel/pmc/tgl.c
> index 02e731ed3391..fc5b4cacc1c6 100644
> --- a/drivers/platform/x86/intel/pmc/tgl.c
> +++ b/drivers/platform/x86/intel/pmc/tgl.c
> @@ -273,8 +273,8 @@ void pmc_core_get_tgl_lpm_reqs(struct platform_device *pdev)
>  
>  	addr = (u32 *)out_obj->buffer.pointer;
>  
> -	lpm_req_regs = devm_kzalloc(&pdev->dev, lpm_size * sizeof(u32),
> -				     GFP_KERNEL);
> +	lpm_req_regs = devm_kcalloc(&pdev->dev, lpm_size, sizeof(u32),
> +				    GFP_KERNEL);
>  	if (!lpm_req_regs)
>  		goto free_acpi_obj;
>  
> -- 
> 2.34.1
> 
>