Hi Ethan, On 23/02/25 01:16, Ethan Carter Edwards wrote: > We are trying to get rid of all multiplications from allocation > functions to prevent integer overflows[1]. Here the multiplication is > obviously safe, but using kcalloc() is more appropriate and improves > readability. This patch has no effect on runtime behavior. > > Link: https://github.com/KSPP/linux/issues/162 [1] > Link: > https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments > > Signed-off-by: Ethan Carter Edwards <et...@ethancedwards.com> > --- > kernel/sched/topology.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > index > c49aea8c10254dec985bba47b18f61be954d23f6..b4539b29fb36f6b2f0c5ca310620ebda29755e5c > 100644 > --- a/kernel/sched/topology.c > +++ b/kernel/sched/topology.c > @@ -1918,7 +1918,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);
Even though an overflow is very unlikely here, using kcalloc() improves readability and adds a safeguard since its built-in overflow check has minimal overhead. Reviewed-by: Madadi Vineeth Reddy <vinee...@linux.ibm.com> Thanks, Madadi Vineeth Reddy > if (!masks) > return; > > @@ -1927,7 +1927,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; > > > --- > base-commit: 5cf80612d3f72c46ad53ef5042b4c609c393122f > change-id: 20250222-sched-kcalloc-1d5acea7249b > > Best regards,