Hello Yury, On Wed, Jan 10, 2024 at 10:15:59AM -0800, Yury Norov wrote: > diff --git a/lib/group_cpus.c b/lib/group_cpus.c > index 3a0db0f51f09..c9c95b21e6c6 100644 > --- a/lib/group_cpus.c > +++ b/lib/group_cpus.c > @@ -353,8 +353,8 @@ struct cpumask *group_cpus_evenly(unsigned int numgrps) > { > cpumask_var_t *node_to_cpumask __free(free_node_to_cpumask) = alloc_node_to_cpumask(); > struct cpumask *masks __free(kfree) = kcalloc(numgrps, sizeof(*masks), GFP_KERNEL); > - cpumask_var_t npresmsk __free(free_cpumask_var); > - unsigned int curgrp, nr_present, nr_others; > + cpumask_var_t npresmsk __free(free_cpumask_var) = NULL; I am testing the akpm's mm-everything branch, and I am seeing this compilation error when compiling with clang. lib/group_cpus.c: In function ‘group_cpus_evenly’: ./include/linux/stddef.h:8:14: error: invalid initializer #define NULL ((void *)0) ^ lib/group_cpus.c:356:52: note: in expansion of macro ‘NULL’ cpumask_var_t npresmsk __free(free_cpumask_var) = NULL; ^~~~ It seems related to this patch. Are you aware of it? Reverting one of the change above "solves" the error: diff --git a/lib/group_cpus.c b/lib/group_cpus.c index c9c95b21e6c6..7644bd99085d 100644 --- a/lib/group_cpus.c +++ b/lib/group_cpus.c @@ -353,7 +353,7 @@ struct cpumask *group_cpus_evenly(unsigned int numgrps) { cpumask_var_t *node_to_cpumask __free(free_node_to_cpumask) = alloc_node_to_cpumask(); struct cpumask *masks __free(kfree) = kcalloc(numgrps, sizeof(*masks), GFP_KERNEL); - cpumask_var_t npresmsk __free(free_cpumask_var) = NULL; + cpumask_var_t npresmsk __free(free_cpumask_var); int curgrp, nr_present, nr_others; if (!masks || !node_to_cpumask || !alloc_cpumask_var(&npresmsk, GFP_KERNEL))