[alobakin:bitops 8/9] include/asm-generic/percpu.h:21:44: warning: array subscript 4 is above array bounds of 'long unsigned int[4]'
From: kernel test robot
Date: Sat Jun 25 2022 - 07:08:15 EST
tree: https://github.com/alobakin/linux bitops
head: 3d9705b33014389e95ff8ac2eeadd081934aa571
commit: 45be1aaa8e3d90c437780823a2824e53fd13a867 [8/9] bitmap: don't assume compiler evaluates small mem*() builtins calls
config: arc-randconfig-c024-20220625
compiler: arceb-elf-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/alobakin/linux/commit/45be1aaa8e3d90c437780823a2824e53fd13a867
git remote add alobakin https://github.com/alobakin/linux
git fetch --no-tags alobakin bitops
git checkout 45be1aaa8e3d90c437780823a2824e53fd13a867
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash kernel/sched/ kernel/trace/ mm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All warnings (new ones prefixed by >>):
In file included from include/linux/compiler_types.h:93,
from <command-line>:
kernel/sched/topology.c: In function 'build_overlap_sched_groups':
>> include/asm-generic/percpu.h:21:44: warning: array subscript 4 is above array bounds of 'long unsigned int[4]' [-Warray-bounds]
21 | #define per_cpu_offset(x) (__per_cpu_offset[x])
include/linux/compiler-gcc.h:35:33: note: in definition of macro 'RELOC_HIDE'
35 | (typeof(ptr)) (__ptr + (off)); \
| ^~~
include/linux/percpu-defs.h:236:9: note: in expansion of macro 'SHIFT_PERCPU_PTR'
236 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:236:33: note: in expansion of macro 'per_cpu_offset'
236 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~
kernel/sched/topology.c:969:20: note: in expansion of macro 'per_cpu_ptr'
969 | sg->sgc = *per_cpu_ptr(sdd->sgc, cpu);
| ^~~~~~~~~~~
In file included from ./arch/arc/include/generated/asm/percpu.h:1,
from include/linux/irqflags.h:17,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/sched/signal.h:5,
from include/linux/sched/cputime.h:5,
from kernel/sched/build_utility.c:13:
include/asm-generic/percpu.h:19:22: note: while referencing '__per_cpu_offset'
19 | extern unsigned long __per_cpu_offset[NR_CPUS];
| ^~~~~~~~~~~~~~~~
vim +21 include/asm-generic/percpu.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 20
a875a69f8b00a3 Ingo Molnar 2006-07-03 @21 #define per_cpu_offset(x) (__per_cpu_offset[x])
acdac87202a408 travis@xxxxxxx 2008-01-30 22 #endif
acdac87202a408 travis@xxxxxxx 2008-01-30 23
:::::: The code at line 21 was first introduced by commit
:::::: a875a69f8b00a38b4f40d9632a4fc71a159f0e0d [PATCH] lockdep: add per_cpu_offset()
:::::: TO: Ingo Molnar <mingo@xxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxx>
--
0-DAY CI Kernel Test Service
https://01.org/lkp