Re: [PATCH 4/9] perf/arm_dsu: Avoid explicit cpumask var allocation from stack

From: kernel test robot
Date: Tue Apr 02 2024 - 19:58:56 EST


Hi Dawei,

kernel test robot noticed the following build errors:

[auto build test ERROR on soc/for-next]
[also build test ERROR on linus/master v6.9-rc2 next-20240402]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Dawei-Li/perf-alibaba_uncore_drw-Avoid-explicit-cpumask-var-allocation-from-stack/20240402-192244
base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
patch link: https://lore.kernel.org/r/20240402105610.1695644-5-dawei.li%40shingroup.cn
patch subject: [PATCH 4/9] perf/arm_dsu: Avoid explicit cpumask var allocation from stack
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240403/202404030702.vL5Ep98R-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240403/202404030702.vL5Ep98R-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404030702.vL5Ep98R-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/perf/arm_dsu_pmu.c: In function 'dsu_pmu_get_online_cpu_any_but':
>> drivers/perf/arm_dsu_pmu.c:243:31: error: passing argument 1 of 'cpumask_any_but' from incompatible pointer type [-Werror=incompatible-pointer-types]
243 | ret = cpumask_any_but(&online_supported, cpu);
| ^~~~~~~~~~~~~~~~~
| |
| struct cpumask (*)[1]
In file included from arch/arm64/include/asm/cpufeature.h:26,
from arch/arm64/include/asm/ptrace.h:11,
from arch/arm64/include/asm/irqflags.h:10,
from include/linux/irqflags.h:18,
from include/linux/spinlock.h:59,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from include/linux/resource_ext.h:11,
from include/linux/acpi.h:13,
from drivers/perf/arm_dsu_pmu.c:14:
include/linux/cpumask.h:379:52: note: expected 'const struct cpumask *' but argument is of type 'struct cpumask (*)[1]'
379 | unsigned int cpumask_any_but(const struct cpumask *mask, unsigned int cpu)
| ~~~~~~~~~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors


vim +/cpumask_any_but +243 drivers/perf/arm_dsu_pmu.c

232
233 static unsigned int dsu_pmu_get_online_cpu_any_but(struct dsu_pmu *dsu_pmu, int cpu)
234 {
235 cpumask_var_t online_supported;
236 unsigned int ret;
237
238 if (!alloc_cpumask_var(&online_supported, GFP_KERNEL))
239 return -ENOMEM;
240
241 cpumask_and(online_supported,
242 &dsu_pmu->associated_cpus, cpu_online_mask);
> 243 ret = cpumask_any_but(&online_supported, cpu);
244
245 free_cpumask_var(online_supported);
246
247 return ret;
248 }
249

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki