Let the krealloc_array() check for multiplication overflow.
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/hwtracing/coresight/coresight-core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtracing/coresight/coresight-core.c
index 6c68d34d956e..a7971c68b0be 100644
--- a/drivers/hwtracing/coresight/coresight-core.c
+++ b/drivers/hwtracing/coresight/coresight-core.c
@@ -1730,9 +1730,9 @@ char *coresight_alloc_device_name(struct coresight_dev_list *dict,
if (idx < 0) {
/* Make space for the new entry */
idx = dict->nr_idx;
- list = krealloc(dict->fwnode_list,
- (idx + 1) * sizeof(*dict->fwnode_list),
- GFP_KERNEL);
+ list = krealloc_array(dict->fwnode_list,
+ idx + 1, sizeof(*dict->fwnode_list),
+ GFP_KERNEL);
if (ZERO_OR_NULL_PTR(list)) {
idx = -ENOMEM;
goto done;
--
2.30.2
On Thu, May 20, 2021 at 04:50:41PM +0300, Andy Shevchenko wrote:
> Let the krealloc_array() check for multiplication overflow.
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> drivers/hwtracing/coresight/coresight-core.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtracing/coresight/coresight-core.c
> index 6c68d34d956e..a7971c68b0be 100644
> --- a/drivers/hwtracing/coresight/coresight-core.c
> +++ b/drivers/hwtracing/coresight/coresight-core.c
> @@ -1730,9 +1730,9 @@ char *coresight_alloc_device_name(struct coresight_dev_list *dict,
> if (idx < 0) {
> /* Make space for the new entry */
> idx = dict->nr_idx;
> - list = krealloc(dict->fwnode_list,
> - (idx + 1) * sizeof(*dict->fwnode_list),
> - GFP_KERNEL);
> + list = krealloc_array(dict->fwnode_list,
> + idx + 1, sizeof(*dict->fwnode_list),
> + GFP_KERNEL);
Applied - thanks.
Mathieu
> if (ZERO_OR_NULL_PTR(list)) {
> idx = -ENOMEM;
> goto done;
> --
> 2.30.2
>