[PATCH] thermal: cpu_cooling: Use kmalloc_array() in __cpufreq_cooling_register()

From: SF Markus Elfring
Date: Mon Apr 10 2017 - 11:13:44 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 10 Apr 2017 17:00:13 +0200

A multiplication for the size determination of a memory allocation
indicated that an array data structure should be processed.
Thus use the corresponding function "kmalloc_array".

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/thermal/cpu_cooling.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
index 69d0f430b2d1..273d9d5dbe0f 100644
--- a/drivers/thermal/cpu_cooling.c
+++ b/drivers/thermal/cpu_cooling.c
@@ -823,8 +823,9 @@ __cpufreq_cooling_register(struct device_node *np,
cpufreq_for_each_valid_entry(pos, table)
cpufreq_dev->max_level++;

- cpufreq_dev->freq_table = kmalloc(sizeof(*cpufreq_dev->freq_table) *
- cpufreq_dev->max_level, GFP_KERNEL);
+ cpufreq_dev->freq_table = kmalloc_array(cpufreq_dev->max_level,
+ sizeof(*cpufreq_dev->freq_table),
+ GFP_KERNEL);
if (!cpufreq_dev->freq_table) {
cool_dev = ERR_PTR(-ENOMEM);
goto free_time_in_idle_timestamp;
--
2.12.2