The kzalloc() doesn't check for overflows in size multiplication,
so Use kcalloc() instead of it.
Signed-off-by: Fushuai Wang <wangfushuai@baidu.com>
---
kernel/sched/topology.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 444bdfdab731..d1e3c6da3570 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -1993,7 +1993,7 @@ void sched_init_numa(int offline_node)
*/
sched_domains_numa_levels = 0;
- masks = kzalloc(sizeof(void *) * nr_levels, GFP_KERNEL);
+ masks = kcalloc(nr_levels, sizeof(void *), GFP_KERNEL);
if (!masks)
return;
@@ -2002,7 +2002,7 @@ void sched_init_numa(int offline_node)
* CPUs of nodes that are that many hops away from us.
*/
for (i = 0; i < nr_levels; i++) {
- masks[i] = kzalloc(nr_node_ids * sizeof(void *), GFP_KERNEL);
+ masks[i] = kcalloc(nr_node_ids, sizeof(void *), GFP_KERNEL);
if (!masks[i])
return;
@@ -2031,7 +2031,7 @@ void sched_init_numa(int offline_node)
/* Compute default topology size */
for (i = 0; sched_domain_topology[i].mask; i++);
- tl = kzalloc((i + nr_levels + 1) *
+ tl = kcalloc((i + nr_levels + 1),
sizeof(struct sched_domain_topology_level), GFP_KERNEL);
if (!tl)
return;
--
2.36.1