soundwire: use krealloc_array to prevent integer overflow

Replace the use of krealloc() with krealloc_array() in
sdw_add_element_group_count to mitigate the risk of integer overflow during
memory allocation size calculation.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Baoli.Zhang <baoli.zhang@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20260506055039.3751028-4-baoli.zhang@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Baoli.Zhang 2026-05-06 13:50:37 +08:00 committed by Vinod Koul
parent 654a7ae10b
commit 35a5ab8ef7

View File

@ -308,17 +308,15 @@ static int sdw_add_element_group_count(struct sdw_group *group,
unsigned int *rates;
unsigned int *lanes;
rates = krealloc(group->rates,
sizeof(int) * (group->max_size + 1),
GFP_KERNEL);
rates = krealloc_array(group->rates, group->max_size + 1,
sizeof(*group->rates), GFP_KERNEL);
if (!rates)
return -ENOMEM;
group->rates = rates;
lanes = krealloc(group->lanes,
sizeof(int) * (group->max_size + 1),
GFP_KERNEL);
lanes = krealloc_array(group->lanes, group->max_size + 1,
sizeof(*group->lanes), GFP_KERNEL);
if (!lanes)
return -ENOMEM;